摘要: 线性表的顺序存储结构要求逻辑关系上相邻的元素在物理位置上也相邻,这样方便了随机存取,但是在插入和删除元素时,需要移动大量元素,而线性表的链式存储则不要求逻辑上相邻的元素在物理位置上也相邻,因此它没有顺序存储结构的可随机存取的优点,不过在插入和删除元素时比较方便。单链表单链表可由头指针唯一确定,在C语言中可用“结构指针”来描述: 1: typedef struct Node { 2: ElemType data; 3: struct Node *next; 4: }Node, *LinkList;有时,我们会在单链表的第一个结点之前附设一个结点,称之为头结... 阅读全文
posted @ 2012-05-01 22:10 Newerth 阅读(6448) 评论(0) 推荐(0) 编辑
摘要: 线性表的顺序存储是指用一组地址连续的存储单元一次存储线性表的数据元素。在C语言中,可以使用动态数组来实现线性表的顺序存储。定义: 1: #define LIST_INIT_SIZE 100 2: #define LIST_INCREMENT 10 3: 4: typedef struct { 5: ElemType *elem; 6: int length; 7: int listsize; 8: }SqList;操作: 1: InitList(L); /* 构造线性表... 阅读全文
posted @ 2012-05-01 20:07 Newerth 阅读(9032) 评论(3) 推荐(0) 编辑
摘要: 给定一整形数组a,要求从中找出最大的数和最小的数,并计算时间复杂度。实现1:遍历数组,每次取数组中一个元素, 分别与当前最大值和最小值进行比较,时间复杂度O(2n) 1: void search(int a[], size_t n, int &max, int &min) 2: { 3: int i; 4: max = min = a[0]; 5: 6: for (i = 1; i < n; ++i) { 7: if (a[i] > max) 8: max = a[i]; 9: ... 阅读全文
posted @ 2012-05-01 18:04 Newerth 阅读(14043) 评论(0) 推荐(0) 编辑