欢迎来到天天文库
浏览记录
ID:44190383
大小:64.40 KB
页数:3页
时间:2019-10-19
《顺序表(完整可运行代码)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1)首先创建一个顺序表:从键盘读入一组整数(长度小于等于11),按输入顺序放入顺序表,输入以-1结束(注意-1不放到顺序表内);将创建好的顺序表元素依次输出到屏幕上。2)在已创建好的顺序表中插入一个元素:从键盘读入需插入的元素值和插入位置,调用插入函数完成插入操作;然后将顺序表元素依次输出到屏幕上。3)在已创建好的顺序表中删除一个元素:从键盘读入欲删除的元素位置(序号),调用删除函数完成删除操作;然后将顺序表元素依次输出到屏幕上。#include#defineMAXNUM20#definetrue1#definefalse0typedefstruct{
2、intdata[MAXNUM];intlength;}list_type;voidcreatelist(list_type*lp)//创建一个顺序表{inti,elem;lp->length=0;printf("pleaseinputdatasofthelist");for(i=0;idata[i]=elem;lp->length++;}}voidprintlist(list_type*lp)//输出{inti;printf("These%drecord
3、sare:",lp->length);if(lp->length<=0){printf("Nodata!");return;}for(i=0;ilength;i++)printf("%d",lp->data[i]);printf("lengthofthelistis:%d",lp->length);}voidinsertlist(list_type*lp,inti,inta)//插入一个元素{intj;if(lp->length>=MAXNUM){printf("thelistisfull,cannotinsert.");}if(i<1
4、
5、i>lp
6、->length+1){printf("%disinvalidvalue",i);}for(j=lp->length-1;j>i-1;j--)lp->data[j+1]=lp->data[j];lp->data[i]=a;lp->length++;}intdeletelist(list_type*lp,inti)//删除一个元素{intj;if(i<1
7、
8、i>lp->length){printf("elemnotexist");return(false);}for(j=i;jlength;j++)lp->data[j-1]=lp->data[j];lp->
9、length--;return(true);}voiddelete_negative(list_type*l)//删除所有的负数{inti=0,k;for(;ilength;i++){if(l->data[i]<0){for(intj=i;jlength-1;j++)l->data[i]=l->data[i+1];l->length--;i--;}}}voidmain(){list_typelist;inti,j,a;createlist(&list);printlist(&list);printf("insert:Enterianddata:"
10、);scanf("%d%d",&i,&a);insertlist(&list,i,a);printf("listafterinsert:");printlist(&list);printf("delete:Enterj:");scanf("%d",&j);deletelist(&list,j);printf("listafterdelete:");printlist(&list);printf("deletenegativenums:");delete_negative(&list);printlist(&list);}
此文档下载收益归作者所有