首页 顺序表的建立

顺序表的建立

举报
开通vip

顺序表的建立顺序表的建立 年级 11级 学号 11064061 班号 2 专业 自动化 姓名 马俊杰 创新型 设计型 综合型 实验 实验顺序表的基本操作 名称 类型 实验目的:1. 理解线性表顺序存储结构的存储方式及其特点。 2. 掌握对顺序表存储结构的描述、基本操作的算法实现。 3. 掌握通过简单实验对C语言基础知识进行回顾;为后序的实验做准备。 实验要求:1.程序采用模块化设计。(独立的功能要用独立的函数来实现。) 2.建立相应的功能菜单。(针对本程序的5个功能建立相应的五个功能菜单, 选择相应的功能选项后进入...

顺序表的建立
顺序 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 的建立 年级 11级 学号 11064061 班号 2 专业 自动化 姓名 马俊杰 创新型 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 型 综合型 实验 实验顺序表的基本操作 名称 类型 实验目的:1. 理解线性表顺序存储结构的存储方式及其特点。 2. 掌握对顺序表存储结构的描述、基本操作的算法实现。 3. 掌握通过简单实验对C语言基础知识进行回顾;为后序的实验做准备。 实验要求:1.程序采用模块化设计。(独立的功能要用独立的函数来实现。) 2.建立相应的功能菜单。(针对本程序的5个功能建立相应的五个功能菜单, 选择相应的功能选项后进入相应的功能操作界面) 3.每次实验完成后我都会随机挑选20%左右的同学的程序进行检查,程序 必须能够实现所有要求的功能,并对指定的任一模块进行详细的讲解。若未通过检查 视为本次实验不合格。 4.实验报告根据 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 要求认真填写。 实 验 目 的 或 要 求 #include #define MaxSize 100 typedef struct MySequence{ char data[MaxSize]; int length; } MySeq; void menu() { printf("----------------------------------------------------------------------------\n"); printf("本代码实现顺序表的如下几个基本功能,请选择对应的功能选项进行相应操作:\n"); printf("----------------------------------------------------------------------------\n"); printf("1.创建顺序表\n"); printf("2.查找字符\n"); printf("3.删除字符\n"); printf("4.插入字符\n"); printf("5.修改字符\n"); printf("6.显示所有字符\n"); printf("0.退出程序\n"); printf("----------------------------------------------------------------------------\n"); } void SeqInit(MySeq* mys) { mys->length = 0; } int CreateSeq(MySeq* mys) 实 { 验 char c; 原 printf("请依次输入顺序表的字符序列,结束请输入'#'\n"); 理 while(1) ( { 算 fflush(stdin); 法 scanf("%c",&c); 流 if(c=='#') 程 { ) printf("输入结束~\n"); return 0; } else if(mys->length==100) { printf("顺序表存储空间已满,不能继续输入。\n"); return 1; } else { mys->data[mys->length]=c; mys->length++; } } return 2; } int GetData(MySeq* mys) { char x; int i=0; printf("输入要查找的字符:\n"); fflush(stdin); scanf("%c",&x); if(mys->length==-1) return -1; while(i<=mys->length&&mys->data[i]!=x) i++; if(ilength) { printf("要查找的字符%c是顺序表的第%d个。\n",x,i+1); return(i+1); } else { printf("顺序表中没有字符%c。\n",x); return(-1); } } int ShowAll(MySeq* mys) { int cur=0; printf("顺序表中的数据依次为:"); for(cur=0;curlength;cur++) { printf("%c",mys->data[cur]); } printf("\n"); return 0; } int ListDelete(MySeq* mys) { int j,i; printf("输入要删除字符在顺序表中的顺序:\n"); fflush(stdin); scanf("%d",&i); if(i<1||i>mys->length+1) return (-1); if(mys->length==-1) return (-1); for(j=i;j<=mys->length;j++) mys->data[j-1]=mys->data[j]; mys->length--; printf("字符删除完成\n"); return 1; } int Insert(MySeq* mys) { char c;int i,j; printf("输入要插入的字符:\n"); fflush(stdin); scanf("%c",&c); printf("输入要插入的位置:\n"); fflush(stdin); scanf("%d",&i); if(i<1||i>mys->length) { printf("position error"); return(-1);} if(mys->length==MaxSize) { printf("overflow"); return(-1); } for(j=mys->length;j>=i-1;j--) mys->data[j+1]=mys->data[j]; mys->data[i-1]=c; mys->length++; return 1; } int Modification(MySeq* mys) { char c;int i; printf("输入你要修改的字符的位置:\n"); fflush(stdin); scanf("%d",&i); printf("输入修改后的字符:\n"); scanf("%c",&c); mys->data[i-1]=c; printf("字符修改完成\n"); return 0; } void main() { MySeq mys; int choice = 0; SeqInit(&mys);//对顺序表进行初始化 menu(); printf("本代码实现顺序表的几个基本功能,请选择对应的功能选 项进行相应操作:"); fflush(stdin); scanf("%d",&choice); while(1) { switch(choice) { case 1: if(mys.length!=0) { char c; printf("顺序表已经初始化,再次初始化将清除原有 数据。是否继续 (y/n):"); fflush(stdin); scanf("%c",&c); while(1) { if(c=='y') { mys.length = 0; CreateSeq(&mys); break; } else if(c=='n') { break; } else { printf("是否继续 (y/n):"); fflush(stdin); scanf("%c",&c); } } break; } else { CreateSeq(&mys); break; } case 2: { GetData(&mys); break; } case 3: { ListDelete(&mys); break; } case 4: { Insert(&mys); break; } case 5: { Modification(&mys); break; } case 6: { ShowAll(&mys); break; } case 0: printf("顺序表的基本功能已经实现~现已退出程序~ \n"); break; break; } menu(); printf("本代码实现顺序表的几个基本功能,请选择对应的功能选 项进行相应操作:"); fflush(stdin); scanf("%d",&choice); } } 组 内 分 工 无 ( 可 选 ) 实 验 结 果 分 析 及 心 得 体 会 成 绩 评 教师签名: 定 2010年 月 日 备注:源代码要求有注释说明
本文档为【顺序表的建立】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_215732
暂无简介~
格式:doc
大小:89KB
软件:Word
页数:12
分类:互联网
上传时间:2017-09-28
浏览量:20