1、软件技术根底学习心得 软件开发技术根底 实验报告 学院:xx学院 班级:xx 姓名:xx 学号:xx 软件开发技术根底实验报告 实验名称:实验一顺序表的操作 班级学号姓名第周星期节成绩 一、实验目的: 1、掌握顺序表结构的实现方式; 2、掌握顺序表常用算法的实现; 3、熟悉利用顺序表解决问题的一般思路; 4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和缺乏。 二、实验要求: 1、掌握顺序表的特点及常见算法。 2、提交实验报告,报告内容包括。目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。 三、实验内容: 1、设计一个静态数
2、组存储结构的顺序表,要求编程实现如下任务: (1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。 (3)查找指定数据的数据元素(指定数据由键盘输入),假设找到那么显示位置,假设没有找到那么显示0。 2、使用顺序表实现一个 本的管理程序, 本中的每条记录包括学号、姓名、 号码和固定 四项。要求实现菜单、初始化、添加、删除和显示等功能。 四、程序要求: 1、采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。 2、写出完整的程序并能调试运行。 五、实验结果: 1、顺
3、序表的结果: 2、 簿的结果: 六、实验中遇到的问题及解决方法: 1.在删除数据的时候如果有两个一样的数时要怎样解决。解决方法:用while进行判断。 2.在删除操作中,删除函数中的l是指针,所以用-指向,而在主函数中l是结构体,用“.。 3.在查找的时候有一个返回值,而这个返回值是指针,所以在写查找函数的时候要把返回值类型写上。 七、实验心得体会: 一开始不知所措,首先应该有一个大的方向,把主程序编号,再逐步求精,落实到每一个函数的编写。对于c语言要熟练掌握,要熟悉循环等得操作,要熟练掌握顺序表中的插入,删除,查找,的根本函数。在此的根底上灵活使用。附: 1、顺序表的程序:XincludeX
4、includeXincludeXincludeXdefinemaxsize50 structseqlist ;seqlistxinit voidinsert(seqlistxp) intnum=0;printf(请输入要键入的个数:);scanf(%d,num);if(numlength=0;returnp;intdatamaxsize;intlength;else printf(键入数据为:n);for(;num0;num-)p-length+;scanf(%d,p-data+p-length-1); if(p-length=maxsize) printf(数组已满n);break;getc
5、har;voiddeletee(seqlistxp) intfind(seqlistxp)inti=0;printf(请输入要删除元素的位置:);scanf(%d,i);if(ip-length)printf(表中没有第%d个元素。n,i);else getchar;for(intj=i;jlength-1;j+)p-dataj-1=p-dataj;p-length-; intx;printf(请输入要查找的数据:);scanf(%d,x);for(inti=0;ilength;i+) if(i=p-length)printf(数组中没有此数据。n);if(p-datai=x) printf(
6、此数据位于第%d个位置n,i+1);returni+1;getchar;return0;voiddisplay(seqlistxp) intmain(void)seqlistxp;for(inti=0;ilength;i+)printf(%-5d,p-datai);putchar(n);getchar; p=init;charflag;printf(1-插入2-删除3-查找4-显示0-退出n);while(1) printf(请输入操作:);switch(flag=getchar)case1:insert(p);putchar(n);break;case2:deletee(p);printf(
7、删除后数据为:);display(p);putchar(n);getchar;break;case3:find(p);putchar(n);getchar;break;case4:printf(显示数据为:);display(p);putchar(n);break;case0:free(p);return0; 2、 簿的程序:XincludeXincludeXincludeXincludeusingnamespacestd;typedefstructcontact stringname;stringphonenumber;stringphone;contactxnext;cnt;classphonebookpublic: phonebook;cntxinput;cntxturn_to_end;voidadd;voiddelete;voidshowmenu;cntxfind;voidshow_item(cntxp);voiddisplay;voidmodification;private:; phonebook:phonebookhead=newcnt;cntxhead; head-next=null;voidphonebook:show_item(cntxp)cout 第5页 共5页