版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、顺序存储串处理程序如下:#include<stdio.h># include<stdlib.h> # include<string.h>#define len sizeof(sqlist)#define n 500#define m 20static int x=0;/the list be initialized ?typedef structchar datelnj; int length;jsqlist;void menu()putchar(lo); printf(httt printf(ntttinit: printf(htttdestroy: pr
2、intf(htttempty: printf("tttlength: printf("tttdisp_l: printf("tttget_e: printf("tttdelete_i: printf("tttlocate_e: printf(htttinsert_e: printf("tttexit:/menu主菜单nn");初始化表。n“);摧毁表。n”);是空表?。);表长。nh);输出表。nn);得到数据。岸);删除数据。f);查找数据。n“);插入数据。n”);退出。nh);printf(”请输入对应指令:n“);
3、int find_i(sqlist *l,int i)int j,n=l;if(i=l) return 0;for(j=0;j<l->length;j+)if(l->datej=7) n+; if(n=i) break;return -1;elsereturn j+1;void initlist(sqlist *&l)l=(sqlist*)malloc(len);l>da 0='0;l->length=0;printfc*已初始化表! nn);void destroylist(sqlist *&l)free(l);x=0;printf(n
4、已摧毁表! n”);int listempty(sqlist *l)if(l->length=o) return 1;elseretui*n 0;int listlength(sqlist *l)int n=0;if(l->length=o) return 0; for(int i=o;i<l->length;i+) if(l->datei=-,') n+; return n;int displist(sqlist *l)int i,n=0;if(l->length=o)printf(h此表为空! ”); return 0;1 for(i=0;i&l
5、t;l->length;i+)if(l->datei=7)n+; printf(,ttn);/displist/initlist/destroylist/emptyif(n=5) putchar( 10); continue;/tabprintf(“c”,l>datei); printf("n 表长为:%dt",n);int getelem(sqlist *l ,int i,char *e)int k,j;k=i;i=find_i(l,i);if(i=-1 |i=l->length)printf(“未找到该位置!操作失败! “);ret uni 0;
6、for(j=0;l->datei !='j+)ej=l->datei+;eu=w;printfc'list %d =%s”,k,e);int listdelete(sqlist *l,int i,char *e)int n,m,j;m=i;n=i=find_i(l,i);if(i=-l)printf(“未找到该位置!删除失败! “);ret uni 0;for(j=0;l->daten!=','j+) ej=l->daten+;printf(nlist【%d =%sn,m,e);m=n-i+l;while(i<l->lengt
7、h)l->datei+4-=l->date+n;1printf("n该元素已删除! “);l->length-=m;int locateelem(sqlist *l,char *e)char comparemj;int j=o,i=o,n=o;while(l->length!=o&&j<l->leng(h)i 二 0;while(l->datej !=v) comparei+=l->datej+;comparei二'0'n+;if(strcmp(compare,e)=0) break;j+;if(j<
8、;l->length)retuni n;return 0;1int listlnsert(sqlist *&l,int i,char *e)/listinserti=find_i(l4);/change iif(i=-l)printf("未找到该位置! return 0;1int len,j=0,n=0;len=l->le ngth; while(ej+j) n+; for(int k=len+n;len>=i;k-) l->datek=l->datelen; for(j=0;j<n;j+,i+)l->datefi=efjl;l-&g
9、t;datei=','l->length+=n+1; printf(“己经插入表! nh); retui*n 0;int select()插入失败! “);/datalength of the new data /get the place for the new data/insertdataint i;char em;char choosemj;static sqlist *l;while(l)menu();scanf(h%s",choose);if(strcnip(choose/,exitn)=0) break;if(strcmp(choose,minit
10、")=0|x=l)x=l;switch(strcmp(choose/init,)=0?l:strcmp(choose/destroyn)=0?2:strcmp(choose,nemptyh) =0?3:strcmp(choose/,lengthm)=0?4:strcmp(choose/rdisp_r,)=0?5:strcmp(choose/get_en)=0? 6:strcmp(choose/ldelete_i',)=0?7:strcmp(choose,locate_e,)=0?8:strcmp(choose/,insert_en)=0 ?9:10)case l:initli
11、st(l);break;case 2:destroylist(l);break;case 3:if(listempty(l)printf(“该表为空表! ”);elseprintfc该表不为空! ”);break;case 4:printf(m%d",listlength(l);break;case 5:displist(l);break;case 6:while(l)print”请输入 i:”);scanf(” d“,&i);if(i>0) break;printf(“ .输入有误:“i”必须大于0请重新输入八nn“);getelem(l,i,e);break;cas
12、e 7:while(l)printfc1 请输入 i:”);scanf(” d",&i);if(i>0) break;printf(".输入有误:"i”必须大于0请重新输入!nn");listdelete(l,i,e);break;case 8:printf(°请输入 e:nh);scanf(” s”,e);if(locateelem(l,e) !=0)printf("n 该元素位于第 %d 个。n",locateelem(l,e); break;elsecase 9:printf(hn未找到该位置。nfl);
13、 break;while(l)printf(*谓输入 i:”);scanf(” d“,&i);if(i>0) break;printf(“ .输入有误:“i”必须大于0请重新输入!nnn);1printfc谓输入 e:n°);scanf(m%s,r,e);listinsert(l,i,e);break;case 10:printf("输入有误,请重新输入:");break;elseprintf(hn警告:未初始化表! nnh);if(strcmp(choose,hexit")=0) return 1;return 0;void main()
14、printfcvn't't*顺序存储串处理*nntt 测试菜单:nnttt 欢迎使用传奇版线性表);while(l)if(select()=l) break; /exit运行如下:t5 xc« c:wind0wssystem32cmd.exe请输入对应指令: in it包初始化表!表。? on 化表表。麥数数数。 始毁空长岀到除找入岀 初摧是表聾删查藝j|页序仔诸 串 处理m*m*m*m*m*m*测试菜单:欢迎使用传奇版线性表主菜单in it: destroy: empty: length: disp_l: get.e: delete_i locate_e insert_e exit:主菜单谊输入对应指令= insert_e oai=i 诒输入e:in it:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全总结提炼经验-工作总结安全教育培训
- 共益企业评定报告
- 六年级英语2026年上学期阅读判断综合题集
- 2025年大型设备操作培训合同
- 2026年建筑设备转让合同二篇
- 广西崇左市2026届高考化学试题全练版含解析
- 基于Spark的实时日志分析平台部署与案例课程设计
- 强化学习广告预算分配设计课程设计
- TLS优化实验设计课程设计
- 2024-2025学年北京十中、丰台二中八年级(下)期中数学试题及答案
- (新教材)2026年部编人教版三年级下册语文 第六单元《口语交际:应该怎样安排座位》教学课件
- 公务车辆租赁管理办法
- 电子设备装接工职业技能资格知识考试题与答案
- 2025年全椒县人民医院面试题库及答案
- 助贷公司运营管理制度
- 脑卒中社区康复阶梯式个案管理实践
- 面点厨师培训教程课件
- 黑龙江省哈尔滨市2025年中考语文真题试卷附真题答案
- T-CAMDI 135-2024 输液、输血器具用共聚聚酯(PCTG)专用料
- 上海高校毕业生登记表(本专科生)
- 假期安全教育课件-1
评论
0/150
提交评论