摘要: 1. 栈的概念栈(Stack):是限制在表的一端进行插入和删除操作的线性表。又称为后进先出LIFO(Last In First Out)或先进后出FILO(First In Last Out)线性表。栈顶(Top):允许进行插入、删除操作的一端,又称为表尾。栈底(Bottom):是固定端,又称为表头。空栈:当表中没有元素时称为空栈。2. 线性堆栈实现#ifndef _STACK_H_#define _STACK_H_#define TRUE 1#define FALSE 0#define OVERFLOW -2#define STACK_SIZE 5#define... 阅读全文
posted @ 2013-08-16 16:54 ydp 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 1. 头文件用于声明而不是用于定义 当设计头文件时,记住定义和声明的区别是很重要的。定义只可以出现一次,而声明则可以出现多次。 下列语句是一些定义,所以不应该放在头文件里:extern int ival = 10; // initializer, so it's a definitiondouble fica_rate; // no extern, so it's a definition 虽然ival声明为extern,但是它有初始化式,代表这条语句是一个定义。类似地,fica_rate的声明虽然没有初始化式,但也是一个定义,因为没有关键字extern。同一个程序中有两个以上 阅读全文
posted @ 2013-08-16 14:18 ydp 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 线性结构: ①存在一个唯一的被称为“第一个”的数据元素; ②存在一个唯一的被称为“最后一个”的数据元素; ③除第一个元素外,每个元素均有唯一一个直接前驱; ④除最后一个元素外,每个元素均有唯一一个直接后继线性表(Linear List) : 是由n(n≧0)个数据元素(结点)a1,a2,…an组成的有限序列。该序列中的所有结点具有相同的数据类型。其中数据元素的个数n称为线性表的长度。 当n=0时,称为空表。 当n>0时,将非空的线性表记作:(a1,a2,…an) ,a1称为线性表的第一个(首)结点,an称为线性表的最后一个(尾)结点。顺序存储:把线性表的结点按逻辑顺序依次存放在一... 阅读全文
posted @ 2013-08-13 15:04 ydp 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1、概念: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。2、常见排序算法的稳定性 不稳定的排序算法:快速排序、希尔排序、堆排序、直接选择排序 稳定的排序算法: 基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序 阅读全文
posted @ 2013-08-13 13:59 ydp 阅读(873) 评论(0) 推荐(0) 编辑