在学了冒泡排序后,会发觉这种算法就是不断比较交换。虽简单直接,显然给人一种繁琐的感觉。那有没有更好一点的算法呢?这当然有啦,没有就糟糕透了 :-P这篇文章介绍一种较冒泡要好的排序算法:简单选择排序看到“选择”这两字估计也猜到一二了。没错,这种算法的思想就是:待找到了最适合的那位数的位置我才选择与它进...
分类:
编程语言 时间:
2015-04-16 17:27:20
阅读次数:
163
1、wait和waitpid出现的原因SIGCHLDq 当子进程退出的时候,内核会向父进程发送SIGCHLD信号,子进程的退出是个异步事件(子进程可以在父进程运行的任何时刻终止)q 子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程,它只保留最小的一些内核数据结构,以便父进程查询子进程的退...
分类:
系统相关 时间:
2015-04-16 17:15:17
阅读次数:
163
#includeusing namespace std;#define MAX_SIZE 100//用于排序数组个数的最大值typedef struct { int r[MAX_SIZE+1];//用于存储要排序的数组 int length;//用于记录顺序表的长度}sqlist;//用于交换数组....
分类:
编程语言 时间:
2015-04-16 17:05:16
阅读次数:
213
学习来源:参考自http://www.eoeandroid.com/forum.php?mod=viewthread&tid=49595&highlight=handler一、相关概念1.MessageQueue:消息队列,一种数据结构,存放消息的地方。每一个线程最多只可以拥有一个MessageQu...
分类:
移动开发 时间:
2015-04-16 16:59:58
阅读次数:
260
有的时候,处于内存中的数据并不是连续的。那么这时候,我们就需要在数据结构中添加一个属性,这个属性会记录下面一个数据的地址。有了这个地址之后,所有的数据就像一条链子一样串起来了,那么这个地址属性就起到...
分类:
编程语言 时间:
2015-04-16 15:56:08
阅读次数:
152
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都...
分类:
编程语言 时间:
2015-04-16 13:58:35
阅读次数:
170
1. 知识点
1.1. 数据结构和算法
1.1.1. 链表
1.1.2. 栈
1.1.3. 排序算法
冒泡排序
选择排序
插入排序
快速排序
1.2. Linux
1.2.1. ...
分类:
编程语言 时间:
2015-04-16 12:31:14
阅读次数:
167
一:内核基础层数据结构
1:双向链表list
a):链表的定义struct list_head{
struct list_head *next,*pre;
}b):container对象和list_entry#define container_of(ptr,type,member){ const typeof(((type *)0->member) *_mptr = (...
分类:
系统相关 时间:
2015-04-16 12:28:29
阅读次数:
238
头文件:using ElementType = int;
#define MaxSize 100
struct SeqList{
ElementType data[MaxSize];
int length; /*the size of the seqlist */
};
using PtrList = SeqList*;
using Position = int;
using Le...
分类:
其他好文 时间:
2015-04-16 12:27:17
阅读次数:
213
1.1 软件 = 程序 + 软件工程 (软件工程 = 软件 - 程序(我知道软件是什么,也知道程序是什么,但是就是不懂什么是软件工程啊...个人觉得 软件工程 - 程序 = 0程序 = 数据结构 + 算法 (突然觉得至今为止我们所写的作业都只是程序而还没达到软件的程度啊..就缺软件工程了..软件工程...
分类:
其他好文 时间:
2015-04-16 11:54:42
阅读次数:
152