首页 顺序表实验报告总结

顺序表实验报告总结

举报
开通vip

顺序表实验报告总结WESTANHUIUMIVER5ITT2014秋学期算法与数据结构项目名称:顺序表指导老师:金菊项目时间:2014.09.17项目成员:韦沐晨王亦如需求分析分析需求理解需求需求概述模块函数定义总体模块设计2.1总体模块需求2.2总体模块分析图解详细设计3.1各模块功能详细分析心得体会附录(代码)需求分析1.1分析需求分析需求就是描述系统的需求,建立系统的模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。因此,顺序表操作系统的需求分析应该是实验小组和用户一起完成的。1.2理解需求顺序表操作系统...

顺序表实验报告总结
WESTANHUIUMIVER5ITT2014秋学期算法与数据结构项目名称:顺序表指导老师:金菊项目时间:2014.09.17项目成员:韦沐晨王亦如需求分析分析需求理解需求需求概述模块函数定义总体模块设计2.1总体模块需求2.2总体模块分析 图解 交通标志图片大全及图解交通标志牌图片大全及图解建筑工程建筑面积计算规范2013图解乒乓球规则图解老年人智能手机使用图解 详细设计3.1各模块功能详细分析心得体会附录(代码)需求分析1.1分析需求分析需求就是描述系统的需求,建立系统的模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。因此,顺序表操作系统的需求分析应该是实验小组和用户一起完成的。1.2理解需求顺序表操作系统是关于顺序表的基本操作,例如创建、销毁、判断表空、测量表长、对元素的管理等。下面是系统所要达到的几条要求:(1)要求系统 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 信息。(2)要求系统能准确地完成各项功能。1.3需求概述创建顺序表;顺序表的销毁;判断表空;测量表长;插入元素;删除元素;查询元素;清空顺序表;取顺序表中指定位置上的元素;1.4模块函数定义顺序表的操作任务较为简单明了,要求系统设计任务及要求如下:(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)输出顺序表。intCreatList_Sq();即创建顺序表;voidDestroyList_Sq();即顺序表的销毁;voidListEmpty_Sq();即判断表空;intListLength_Sq();即测量表长;intListInsert_Sq();即插入元素;intListDelete_Sq();即删除元素;intLocateElem_Sq();即查询元素;intClearList_Sq();即清空顺序表;intGetElem_Sq();即取顺序表中指定位置上的元素;顺序表操作系统有近十种功能,各功能的函数定义如下:(1)(2)(3)(4)(5)(6)(7)(8)(9)10)intPrintList_Sq();即输出顺序表。总体模块设计2.1总体模块需求需要完成一个完整的顺序表操作系统,具体功能需求详见需求概述。2.2总体模块分析图解创建顺序表销毁顺序表判断表空顺序表操作系统测量表长插入元素删除元素查询元素清空顺序表取顺序表中指定位置上的元素输出顺序表详细设计3.1各模块功能详细分析(1)功能创建顺序表原型intCreatList_Sq()输入无输出成功则表示已创建顺序表,否则未创建返回结果0K即成功创建顺序表功能销毁顺序表原型voidDestroyList_Sq()输入无输出成功则已销毁顺序表返回结果无功能判断表空原型voidListEmpty_Sq()输入无输出成功则已成功创建顺序表返回结果无功能测量表长原型intListLength_Sq()输入无输出成功则显示顺序表表长结果,否则不显示返回结果0K即成功显示功能插入兀素原型intListInsert_Sq()输入无输出成功则询问是否继续插入,否则提示错误返回结果0K即成功插入(6)功能删除兀素原型intListDelete_Sq()输入无输出成功则显示删除成功,否则提示错误信息返回结果0K即成功删除(7)功能查询兀素原型intLocateElem_Sq()输入无输出成功则显示兀素所在位置,否则显示错误信息返回结果ERROR即查询失败(8)功能清空顺序表原型intClearList_Sq()输入无输出已清空顺序表返回结果Ok即清空顺序表(9)功能取顺序表中指定位置上的兀素原型intGetElem_Sq()输入无输出成功即显示取到的兀素,否则无显示返回结果Ok即成功取到兀素(10)功能输出顺序表原型intPrintList_Sq()输入无输出成功即显示顺序表信息,否则无显示返回结果Ok即输出成功心得体会本次实验的完成,离不开小组成员的分工合作,更得益于组长的有效领导,使得各成员相互间协调的非常好,大大提高了做实验的效率;书上的顺序表系统相关的算法是C++类型,不能直接在程序中进行套用,需要不断探索和改进才能完成。此外,本次试验,我最大的收获是,意识到了小组分工合作完成实验的重要性。5.附录(代码)#include#include#defineOK1#defineERROR-1#defineFALSE-2#defineOVERFLOW0#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefintStatus;typedefstruct{int*elem;intlength;intlistsize;}SqList;SqListL;voidInitList_Sq();voidmenu();intCreatList_Sq();voidDestroyList_Sq();voidListEmpty_Sq();intListLength_Sq();intListInsert_Sq();intListDelete_Sq();intLocateElem_Sq();intClearList_Sq();intGetElem_Sq();intPrintList_Sq();voidmain(){InitList_Sq();menu();voidInitList_Sq(){L.elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));if(!L.elem)exit(OVERFLOW);L.length=0;L.listsize=LIST_INIT_SIZE;}voidmenu(){inta;system("cls");printf("***************************************************************************\n");printf("*******************************顺序表操作系统******************************\n");printf("***************************************************************************\n");printf("***printf("***printf("***printf("***printf("***printf("***printf("***1.创建顺序表2.销毁顺序表3.判断顺序表表空4.测量表长5.插入元素6.删除元素7.查询元素8.清空顺序表9.取顺序表中指定位置的元素10.输出顺序表11.退出***\n");***\n");***\n");***\n");***\n");***\n");***\n");printf("***************************************************************************\n");printf("***************************************************************************\n");printf("***************************************************************************\n");printf("\n\n");printf("请输入所需选择的操作编号:");scanf("%d",&a);switch(a){case1:CreatList_Sq();break;case2:DestroyList_Sq();break;case3:ListEmpty_Sq();break;case4:ListLength_Sq();break;case5:ListInsert_Sq();break;case6:ListDelete_Sq();break;case7:LocateElem_Sq();break;case8:ClearList_Sq();break;case9:GetElem_Sq();break;case10:PrintList_Sq();break;case11:exit(0);break;default:menu();printf("请在1~11之间选择!");}}intCreatList_Sq(){system("cls");inte;chara[2];int*newbase;printf("请输入内容(请输入整数):");scanf("%d",&e);L.elem[L.length]=e;++L.length;if(L.length>=L.listsize){newbase=(int*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));if(newbase==NULL)exit(0);L.elem=newbase;L.listsize+=LISTINCREMENT;}printf("\n创建成功!\n");printf("\n是否继续创建(YorN):");scanf("%s",a);if((a[0]=='Y')||(a[0]=='y'))CreatList_Sq();elsemenu();returnOK;}voidDestroyList_Sq(){system("cls");chara[2];free(L.elem);L.length=NULL;L.listsize=LIST_INIT_SIZE;printf("已销毁顺序表!");printf("\n是否返回主菜单(YorN):");scanf("%s",a);if((a[0]=='Y')||(a[0]=='y'))menu();elseexit(0);voidListEmpty_Sq(){system("cls");chara[2];if(L.length==0)printf("该顺序表为空!");elseprintf("该顺序表不为空!");printf("\n是否返回主菜单scanf("%s",&a);if((a[0]=='Y')||(a[0]=='y'))menu();elseexit(0);(YorN):");intListLength_Sq(){system("cls");inti;chara[2];i=L.length;printf("该顺序表的表长为:printf("\n是否返回主菜单scanf("%s",&a);if((a[0]=='Y')||(a[0]=='y'))menu();elseexit(0);returnOK;}%d\n",i);(YorN):");intListInsert_Sq(){system("cls");inti;inte;chara[2];int*p,*q,*newbase;printf("请输入所需插入元素的位置:");scanf("%d",&i);if(i>L.length){printf("\n插入位置不合法,请重新输入所需插入元素的位置:scanf("%d",&i);\n");}printf("\n请输入所需插入元素的值:");scanf("%d",&e);if(i<1||i>=L.length+1)exit(0);if(L.length>=L.listsize){newbase=(int*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));if(!newbase)exit(OVERFLOW);L.elem=newbase;L.listsize+=LISTINCREMENT;}q=&(L.elem[i-1]);for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L.length;printf("\n是否继续插入(YorN):");scanf("%s",&a);if((a[0]=='Y')||(a[0]=='y'))ListInsert_Sq();elsemenu();returnOK;}intListDelete_Sq(){system("cls");inti;chara[2];int*p,*q;printf("请输入需要删除的元素的位置:");scanf("%d",&i);if(i>L.length){\n");printf("\n输入的位置不合法,请重新输入所需删除元素的位置:scanf("%d",&i);}if((i<1)||(i>L.length))returnERROR;p=&(L.elem[i-1]);q=L.elem+L.length-1;for(++p;p<=q;++p)*(p-1)=*p;--L.length;printf("\n删除成功!");printf("\n是否继续删除(YorN):");scanf("%s",&a);if((a[0]=='Y')||(a[0]=='y'))ListDelete_Sq();elsemenu();returnOK;}intLocateElem_Sq(){system("cls");inti=1;inte;chara[2];int*p;p=L.elem;printf("请输入需要查询的元素:");scanf("%d",&e);while(i<=L.length){if(e==L.elem[i]){printf("\n该元素所在位置:%d",i);}++i;}if(i>L.length)printf("\n所需查询的元素不存在!");printf("\n是否继续查询(YorN):");scanf("%s",&a);if((a[0]=='Y')||(a[0]=='y'))LocateElem_Sq();elsemenu();returnERROR;}intClearList_Sq(){system("cls");chara[2];free(L.elem);L.length=NULL;L.listsize=LIST_INIT_SIZE;printf("已清空顺序表!");printf("\n是否返回主菜单(YorN):");scanf("%s",&a);if((a[0]=='Y')||(a[0]=='y'))menu();elseexit(0);returnOK;}intGetElem_Sq(){system("cls");inte;inti;chara[2];printf("请输入所需取出元素的指定位置:");scanf("%d",&i);e=L.elem[i-1];书籍是人类知识的总统莎士比亚printf("\n所取出的元素为:%d",e);printf("\n是否继续取元素(YorN):");scanf("%s",&a);if((a[0]=='Y')||(a[0]=='y'))GetElem_Sq();elsemenu();returnOK;}intPrintList_Sq(){system("cls");inti;chara[2];printf(”顺序表为:”);for(i=0;i
本文档为【顺序表实验报告总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_704284
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:0
分类:
上传时间:2020-09-18
浏览量:73