线性表顺序存储
2018-02-22 14:25
218 查看
#define maxsize 20 #define ok 1 #define error 0 #define true 1 #define false 0 typedef int elemtype; typedef struct { elemtype data[maxsize]; int length; }sqlist; //search elemtype getelem(sqlist l, int i, elemtype *e) { if (l.length == 0 || i<i || i>l.length) return error; *e = l.data[i - 1]; return ok; } //insert elemtype listinsert(sqlist *l, int i, elemtype e) { int k; if (l->length == maxsize) return error; if (i<1 || i>l->length + 1) return error; if (i <= l->length) { for (k = l->length - 1; k >= i - 1; k--) { l->data[k + 1] = l->data[k]; } } l->data[i - 1] = e; l->length++; return ok; } //delete elemtype listdelete(sqlist *l, int i, elemtype *e) { int k; if (l->length == 0) return error; if (i<1 || i>l->length) return error; *e = l->data[i - 1]; if (i < l->length) { for (k = i; k < l->length; k++) l->data[k - 1] = l->data[k]; } l->length--; return ok; }
线性表顺序存储,基于数组,整个结构在内存地址中是连续的,可以实现随机查找,时间O(1);
但是增删,需要移动大量元素,时间O(n)
相关文章推荐
- C _数据结构 _线性表的顺序存储
- 数据结构之线性表顺序存储
- 【数据结构之线性表顺序存储】简单的数组的方式实现
- 第一部分 线性表的顺序存储(二)--动态分配
- 线性表的顺序存储
- 线性表的顺序存储实现
- 线性表——顺序存储(C语言版,附带源代码)
- 线性表的顺序存储实验程序
- 数组实现线性表的顺序存储
- 线性表之顺序存储,基本操作
- 线性表(List)---栈的顺序存储
- 数据结构:线性表的顺序存储
- 2008秋季-计算机软件基础- 线性表顺序存储 - 菜单
- 线性表的顺序存储实现
- 线性表顺序存储
- 数据结构之线性表顺序存储的常用操作(转载)
- 线性表的顺序存储
- 数据结构与算法入门1-线性表的顺序存储
- 线性表_顺序存储
- 线性表顺序存储(C++ 实现)