《数据结构线性表的基本操作》由会员分享,可在线阅读,更多相关《数据结构线性表的基本操作(3页珍藏版)》请在金锄头文库上搜索。
1、#include #include#define LISTINCREMENT 10 /线性表存储空间的初始增量 typedef struct int *list; int size; int MAXSIZE; List;void IntList(List if(!L.list)exit(0); L.MAXSIZE=ms; L.size= 0; /建立表int insertList(List if(rcL.MAXSIZE)return 0;if(L.size=L.MAXSIZE)newbase=(int *)realloc(L.list,(L.MAXSIZE+LISTINCREMENT)*siz
2、eof(int);if(!newbase)exit(0);L.list=newbase;L.MAXSIZE+=LISTINCREMENT;q=for(p=p=q;-p) *(p+1)=*(p);*q=item;+L.size;return 0; /插入元素int DeleteList1(List p= q=L.list+L.MAXSIZE-1; for(;pL.MAXSIZE)return 0;p=q=L.list+L.MAXSIZE-1;for(+p;p=q;+p)*(p-1)=*p;-L.size;return 0; /删除指定位置的元素void FindList(List L,int i
3、tem) int *p,*q,i; p= q=L.list+L.MAXSIZE-1; for(;p=q;p+) if(*p=item) i=p-L.list; printf(“%d 元素在顺序表中第%d 个位置“,item,i); /查询元素void OutputList(List L) int *p,*q; p= q=L.list+L.MAXSIZE-1; for(;p=q;p+) printf(“%d“,p); /输出所有的元素void main() int i,j=10,k; int a10; List h; IntList(h,j); printf(“请输入 10 个数n“); for(i=0;i=9;i+) scanf(“%d“, for(i=0;i=9;i+) h.listi=ai; printf(“请输入你要找的数n“);scanf(“%d“, FindList(h,k);/查找元素 printf(“请输入你要删除的位置n“); scanf(“%d“, DeleteList2(h,k);/删除指定位置的元素 printf(“请输入你要删除的元素n“); scanf(“%d“, DeleteList1(h,k);/删除指定的元素 OutputList(h); /主函数