线性表的增加和删除
来源:互联网 发布:edius软件在那里下载 编辑:程序博客网 时间:2024/06/06 10:49
#include <stdio.h>#include <stdlib.h>#define LIST_INIT_SIZE 100#define LISTINSERT 10typedef struct{ int *elem; int length;//记录链表当前长度 int list_size;//记录链表的总容量}SqList;SqList init_list(SqList L){ L.elem=(int)malloc(LIST_INIT_SIZE*sizeof(int)); if(!L.elem){ exit(0); } L.length=0; L.list_size=LIST_INIT_SIZE; return L;}SqList input_list(SqList L,int n){ if(n>L.list_size){ exit(0); } int i; for( i = 0 ; i < n ; i++){ scanf("%d",&L.elem[i]); } L.length=n; return L;}void output_list(SqList L){ int i; for( i = 0 ; i < L.length ; i++ ){ printf("%d ",L.elem[i]); } printf("\n");}SqList Insert_List(int index,int num,SqList L){ int *newbase; int init_size = L.list_size; if(index < 0 || index > L.length+1) { exit(0); } if(L.length+1>L.list_size){ newbase = (int *) realloc(L.elem,(L.list_size+LISTINSERT)*sizeof(int)); L.elem=newbase; L.list_size=init_size + LISTINSERT; } if(!newbase){ exit(0); } int i; for(i = L.length-1;i >= index - 1 ; i-- ){ L.elem[i+1]=L.elem[i]; } L.elem[index - 1]=num; L.length++; return L;}SqList Delete_List(int index,SqList L){ if(index < 0 || index > L.length){ exit(0); } int i; for(i = index ; i < L.length ; i++) { L.elem[i-1]=L.elem[i]; } L.length--; return L;}int main(){ SqList list; list=init_list(list); int n,i; scanf("%d",&n); list=input_list(list,n); output_list(list); printf("请输入需要插入的位置index和数值num\n"); int index,num; scanf("%d %d",&index,&num); list=Insert_List(index,num,list); output_list(list); printf("请输入要删除的元素的位置index\n"); scanf("%d",&index); output_list(Delete_List(index,list)); return 0;}
阅读全文
0 0
- 线性表的增加和删除
- 链表节点的增加和删除
- 线性表的插入和删除
- 线性表的建立和删除
- 线性表的插入和删除
- jquery的删除和增加
- 特殊的线性表-----栈---栈的插入和删除
- JavaScript实现表中行的增加和删除!
- 链表节点的增加和删除--20150923
- 数据结构:链表的增加、插入和删除
- 数据结构:线性表删除操作的php和js实现
- 数据结构:线性表删除操作的php和js实现
- 线性表的创建、插入、删除和定位
- 数据结构 线性表的插入和删除运算
- 顺序线性表和单链表的插入,删除操作
- C语言实现线性表的插入和删除操作
- 顺序表的增加删除
- 线性表的 插入 删除
- [Ethereum Tutorial]Depoly contract on the private chain
- CSS控制的横向列表菜单
- Android studio启动DDMS失败
- 性能度量
- c语言中的几个关键字
- 线性表的增加和删除
- 剑指编程(2)
- ReactNative 到 Weex 的艰难一迈
- Java中hashCode()与equals()的问题
- Project Euler 46-50题
- 你不能不知道的14个大数据专业词汇
- EditText限制输入字数
- jqurid 表格 弹窗layer
- zookeeper事务日志可视化