线性表之<顺序表sqlist>的储存及插入、删除-C代码实现
2016-10-31 22:49
423 查看
储存:
更一般的:
注意:以下所有代码实现data[]皆从下标为1开始储存;
插入实现:
1. 插入位置i如果不合法,提示错误信息;
2. 插入合法,则将i位置以及其后的所有元素进行后移,更改i位置元素为e;
3. ++lenth;
删除实现:
1. 如果删除位置不合法,提示错误信息;
2. 合法,则将i值赋给e,并把其后所有元素前移;
3. –lenth;
其他实现:
1.Initlist
2.traverse
3.isempty
typedef struct sqlist { int data[MaxSize]; int lenth;//线性表长度 }sqlist;
更一般的:
int a[MaxSize],lenth=0;
注意:以下所有代码实现data[]皆从下标为1开始储存;
插入实现:
1. 插入位置i如果不合法,提示错误信息;
2. 插入合法,则将i位置以及其后的所有元素进行后移,更改i位置元素为e;
3. ++lenth;
int insert(sqlist *L,int i,int e) { if(i<1||i>L->lenth+1) { printf("error:the location of i is illeagl\n"); return 0; } //注意:lenth长度最多为MaxSize-2,如果已经达到,则实际上无储存空间可用, //这里我们假设保证Maxsize足够大 int j=L->lenth; while(j>=i) { L->data[j+1]=L->data[j]; --j; } L->data[i]=e; ++L->lenth; return 1; }
删除实现:
1. 如果删除位置不合法,提示错误信息;
2. 合法,则将i值赋给e,并把其后所有元素前移;
3. –lenth;
int delete(sqlist *L,int i,int *e) { if(i<1||i>L->lenth) { printf("error:the location of i is illeagl\n"); return 0; } *e=L->data[i]; while(i<L->lenth) { L->data[i]=L->data[i+1]; ++i; } --L->lenth; return 1; }
其他实现:
1.Initlist
sqlist *Initlist(void) { sqlist *L=(sqlist *)malloc(sizeof(sqlist)); L->lenth=0; return L; }
2.traverse
void traverse(sqlist *L) { if(!L->lenth) { printf("erroe:empty list\n"); return; } int i=1; while(i<=L->lenth) printf("%d ",L->data[i++]); }
3.isempty
return L->lenth;
相关文章推荐
- 线性表之<链表linklist>的储存及插入、删除-C代码实现
- c++ 实现顺序表类(初始化、输入、插入与删除)<<计算机软件技术基础 徐士良>>
- C语言实现顺序线性表的表示、插入、删除
- <java><JTable>使用AbstractTableModel实现更新、删除、插入数据
- 《C语言及程序设计》教学视频 <18 链表中结点的插入和删除> 示例代码
- 数据结构:线性表(顺序存储)顺序表类(实现顺序表的创建,输出,插入,删除功能)
- 《C语言及程序设计》教学视频 <18 链表中结点的插入和删除> 示例代码
- 线性表的添加、删除、插入功能的顺序实现
- 《C语言及程序设计》教学视频 <18 链表中结点的插入和删除> 示例代码
- 【数据结构作业一】写出顺序表的结构体类型定义及查找、插入、删除算法,并以顺序表作存储结构,实现线性表的插入、删除
- 《C语言及程序设计》教学视频 <18 链表中结点的插入和删除> 示例代码
- 【数据结构】顺序线性表的插入、删除、合并实现
- 线性表的顺序表示和实现<算法2.1-2.7>
- 线性结构--->循环队列的顺序储存实现
- (1)顺序表的操作 ① 输入一组整型元素序列,建立线性表的顺序存储结构。 ② 实现该线性表的遍历。 ③ 在该顺序表中查找某一元素,查找成功显示查找元素,否则显示查找失败。 ④ 在该顺序表中删除或插入指
- 今天学了线性表顺序表示,自己写了一段代码!实现了 插入和删除!这也是第一次写博客
- 线性表的初始化,头部和尾部插入,删除C/C++代码实现
- js在repeater控件内每一行<input type="checkbox"/>实现全选,全不选,然后获取每一行的ID删除
- SQL Server XML基础学习之<6>--XML modify() 方法对 XML 数据中插入、更新或删除
- 试用多态实现线性表(队列,串,堆栈),要求具备线性表的基本操作:插入,删除,测长等。