温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
软件技术
基础
学习心得
软件技术根底学习心得
软件开发技术根底
实验报告
学院:xx学院
班级:xx
姓名:xx
学号:xx
软件开发技术根底实验报告
实验名称:实验一顺序表的操作
班级学号姓名第周星期节成绩
一、实验目的:
1、掌握顺序表结构的实现方式;
2、掌握顺序表常用算法的实现;
3、熟悉利用顺序表解决问题的一般思路;
4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和缺乏。
二、实验要求:
1、掌握顺序表的特点及常见算法。
2、提交实验报告,报告内容包括。目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:
(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。
(3)查找指定数据的数据元素(指定数据由键盘输入),假设找到那么显示位置,假设没有找到那么显示0。
2、使用顺序表实现一个 本的管理程序, 本中的每条记录包括学号、姓名、 号码和固定 四项。要求实现菜单、初始化、添加、删除和显示等功能。
四、程序要求:
1、采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。
2、写出完整的程序并能调试运行。
五、实验结果:
1、顺序表的结果:
2、 簿的结果:
六、实验中遇到的问题及解决方法:
1.在删除数据的时候如果有两个一样的数时要怎样解决。解决方法:用while进行判断。
2.在删除操作中,删除函数中的l是指针,所以用->指向,而在主函数中l是结构体,用“.〞。
3.在查找的时候有一个返回值,而这个返回值是指针,所以在写查找函数的时候要把返回值类型写上。
七、实验心得体会:
一开始不知所措,首先应该有一个大的方向,把主程序编号,再逐步求精,落实到每一个函数的编写。对于c语言要熟练掌握,要熟悉循环等得操作,要熟练掌握顺序表中的插入,删除,查找,的根本函数。在此的根底上灵活使用。附:
1、顺序表的程序:XincludeXincludeXincludeXincludeXdefinemaxsize50
structseqlist{
};seqlistxinit{
}voidinsert(seqlistxp){
intnum=0;printf("请输入要键入的个数:");scanf("%d",num);if(numlength=0;returnp;intdata[maxsize];intlength;else{
printf("键入数据为:\n");for(;num>0;num--){p->length++;scanf("%d",p->data+p->length-1);
}
}
}if(p->length==maxsize){
}printf("数组已满\n");break;getchar;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->data[j-1]=p->data[j];p->length--;
}intx;printf("请输入要查找的数据:");scanf("%d",x);for(inti=0;ilength;i++){
}if(i>=p->length)printf("数组中没有此数据。\n");if(p->data[i]==x){
}printf("此数据位于第%d个位置\n",i+1);returni+1;getchar;return0;voiddisplay(seqlistxp){
}intmain(void){seqlistxp;for(inti=0;ilength;i++)printf("%-5d",p->data[i]);putchar('\n');getchar;
p=init;charflag;printf("1-插入2-删除3-查找4-显示0-退出\n");while(1){
printf("请输入操作:");switch(flag=getchar){case'1':insert(p);putchar('\n');break;case'2':deletee(p);printf("删除后数据为:");display(p);putchar('\n');getchar;break;case'3':find(p);putchar('\n');getchar;break;case'4':printf("显示数据为:");display(p);putchar('\n');break;case'0':free(p);return0;}
}
}
2、 簿的程序:XincludeXincludeXincludeXincludeusingnamespacestd;typedefstructcontact{
stringname;stringphonenumber;stringphone;contactxnext;}cnt;classphonebook{public:
phonebook;cntxinput;cntxturn_to_end;voidadd;voiddelete;voidshowmenu;cntxfind;voidshow_item(cntxp);voiddisplay;voidmodification;private:};
phonebook::phonebook{head=newcnt;cntxhead;
}head->next=null;voidphonebook::show_item(cntxp){cout
第5页 共5页