一、线性表的定义

线性表:零个或多个数据元素的有限序列。几个关键的地方。首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都只有一个前驱和后继。然后,线性表强调是有限的。事实上,在计算机中处理的对象都是有限的,那种无限的数列,只存在于数学的概念中。如果用数学语言来定义。可如下**若将线性表记为(a1,…,ai-1,ai,ai+1,…...
点击进入阅读全文

一、指针

C语言中的指针是一种数据类型,比如说我们用int *a;就定义了一个指针a,它指向一个int类型的数。但是这个指针是未初始化的,所以,一般的,我们都在创建指针时初始化它,以免出错,在还不吃的它该指向谁的时候,我们就这样创建
int *a=NULL;/* NULL表示的地址是0*00000000 也就是空,实际上,NULL就等于0,只不过用于指针时,通常用NULL,便于阅读。 */
指针它所指的地方就是一个地址,他本身也是个变量,所以它本身也是个地址,所以也有指向指针的指针,我们称之为二级指针,举个例子:
int a = 4;int *p = &a;int **ptr = &p;printf("%d %d %d\n", a, *p, **ptr);
这段代码中ptr就是一个二级指针,最后输出的结果为4 4 4.

二、动态内存分配

内存分为静态内存(栈)和动态内存(堆),静态内存是系统分配的内存,不可更改,常量一般定义在此区域,动态内存为可变内存,因此变量存储在此区域。所谓的动态内存...点击进入阅读全文

算法复杂度分为时间复杂度和空间复杂度,一个好的算法应该具体执行时间短,所需空间少的特点。时间复杂度
我们假设计算机运行一行基础代码需要执行一次运算。
inaFuncvoi) printf"Hello, World!\n");//  需要执行 1 次retur;// 需要执行 1 次
那么上面这个方法需要执行 2 次运算
inaFuncinn) foini ; i<n; i++...
点击进入阅读全文

想知道如何在Ubuntu14.04中安装Java?许多人比较厌恶Java, 但是很有可能因为某些原因你需要安装Java,尽管你很讨厌它. 在这篇文章中,我们将展示如何在Ubuntu 14.04安装Java(也可能在Linux Mint 17同样适用)。

1 JRE vs OpenJDK vOracleJDK


在我们继续了解如何安装Java之前, 让我们快速地了解JREOpenJDKOracle JDK之间的不同之处.

1.1 JRE和JD


  • JRE(Java Runtime Environment)它是你运行一个基于Java语言应用程序的所正常需要的环境。如果你不是一个程序员的话,这些足够你的需要.
  • JDK代表Java开发工具包,如果你想做一些有关Java的开发(阅读程序), 这正是你所需要的.

1.2 Open JDK和Oracle JD


  • OpenJDKJava开发工具包的开源实现
  • Oracle JDKJava开发工具包的官方Oracle版本
尽管OpenJDK已经足够满足大多数的案例,但是许多程序比如AndroidStudio建议使用Oracle JDK, 以避免UI/性问题.

2 检查Java是否已经安装在Ubuntu上


打开终端,使用下面的命令
java -version
如果你看到像下面的输出,这就意味着你并没有安装过Java:
The program ‘java’ can be found in the following packages:*defaul-jr* gcj4.-jre-headles* openjdk-jre-headles* gcj4.-jre-headles* openjdk-jre-headles...
点击进入阅读全文

Linux之日志系统

日志数据可以是有价值的信息宝库,也可以是毫无价值的数据泥潭。它可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错优化系统的性能,或者根据这些信息调整系统的行为。收集你想要的数据,分析出有价值的信息,可以提高系统、产品的安全性,可以帮助开发完善代码,优化产品。日志会成为在事故发生后查明“发生了什么”的一个很好的“取证”信息来源...点击进入阅读全文

  • top 动态实时的查看进程的状态的已经系统的一些信息如 CPU、内存信息等等
  • ps 静态查看当前的进程信息
  • pstree 查看当前活跃进程的树形结构

top 是一个在前台执行的程序

top 显示的第一排

内容解释
to表示当前程序的名称
11:05:1表示当前的系统的时间
up 8 days,17:1表示该机器已经启动了多长时间
1 use表示当前系统中只有一个用户
load average: 0.29,0.20,0.2...
点击进入阅读全文

Linux进程简介

  • 进程与程序
  • 进程的衍生
  • 工作管理

进程与程序

程序只是一些列指令的集合,是一个静止的实体,而进程不同,进程有一下的特性
  • 动态性:进程的实质是进程实体的一次执行的过程,有创建,撤销等状态的变化。而程序是一个静态的实体
  • 并发性:进程可以做到在一个时间段内,有多个程序在运行中。程序只是静态的实体,所以不存在并发行
  • 独立性:进程可以独立分配资源,独立接受调度,独立的运行。
  • 异步性:进程以不可预知的速度向前推进。...
点击进入阅读全文

1. 更新软件源

$ sudo apt-geupdat

2. 软件安装一定要使用管理员权限才行

$ apt-get install dstat
$ sudo apt-get install dstat

3. -s选项允许我们模拟安装(不会真正安装到系统里),通过这种方法可以查看到安装过程中是否会出现什么未知的问题,这对我们在安装不熟悉的软件时提供了方便。

$ sudo apt-get install tcpdump-

如果确认没有问题,则可以直接安装

$ sudo apt-geinstall tcpdum

4. 升级系统中现有的软件

$ sudo apt-geupgrad

5. 升级系统(功能性更新,更新范围要比sudo apt...

点击进入阅读全文