预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

上机要求上机要求实验一:顺序表(4学时)提示:相关常量和顺序表数据类型定义 #defineMAXNUM20 #definetrue1 #definefalse0 typedefstruct { intdata[MAXNUM]; intlength; }list_type;提示:创建顺序表函数 /*createalist:inputdatafromkeyboard,endby-1*/ voidcreatelist(list_type*lp) { inti,elem; lp->length=0; printf("\npleaseinputdatasofthelist\n"); for(i=0;i<MAXNUM;i++) { scanf("%d",&elem); if(elem==-1)break; lp->data[i]=elem; lp->length++; } }提示:遍历元素并依次输出函数 voidshowlist(list_type*lp) { inti; printf("\nThese%drecordsare:\n",lp->length); if(lp->length<=0) { printf("Nodata!\n"); return; } for(i=0;i<lp->length;i++) printf("%d",lp->data[i]); printf("\nlengthofthelistis:%d",lp->length); }提示:插入函数,成功返回true,反之返回false。 intinsertlist(list_type*lp,intnew_elem,inti) {intj; if(lp->length>=MAXNUM) { printf("thelistisfull,cannotinsert."); return(false); } if(i<1||i>lp->length+1) { printf("\n%disinvalidvalue",i); return(false); } for(j=lp->length-1;j>=i-1;j--) lp->data[j+1]=lp->data[j]; lp->data[i-1]=new_elem; lp->length++; return(true); }提示:删除函数,成功返回true,反之返回false。 intdeletelist(list_type*lp,inti) { intj; if(i<1||i>lp->length) { printf("elemnotexist"); return(false); } for(j=i;j<lp->length;j++) lp->data[j-1]=lp->data[j]; lp->length--; return(true); } 删除所有负数的函数(自己编写) voiddelete_negative(list_type*l) { }提示:主函数,按要求调用已编写好的各函数 voidmain() {list_typelist; inti,data; createlist(&list); showlist(&list); printf("\ninsert:Enterianddata:\n"); scanf("%d,%d",&i,&data); insertlist(&list,data,i); printf("\nlistafterinsert:\n"); showlist(&list); printf("\ndelete:Enteri:\n"); scanf("%d",&i); deletelist(&list,i); printf("\nlistafterdelete:\n"); showlist(&list); /*delete_negative(&list); printf("\nlistafterdeleteallnegative:\n"); showlist(&list);*/ }实验一:顺序表(续)实验二:链表(4学时)实验二:链表(续)实验二:链表(续)实验三、栈和队列(4学时)栈和队列(续)栈和队列(续)实验四、二叉树(4学时)实验五、查找和排序(4学时)