《软件技术基础》实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件技术基础》
实验报告
学院:XXXXXXXXX
班级: XXXXXXX
学号:XXXXXXXXXX
姓名: XXXXXX
指导老师: XXXXXX
实验一顺序表的操作
班级XXXXX 学号XXXXXXX 姓名XXXX 第X 周星期X 、XXX 节成绩
一、实验目的:
1、掌握顺序表结构的实现方式;
2、掌握顺序表常用算法的实现;
3、熟悉利用顺序表解决问题的一般思路;
4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的
优点和不足。
二、实验内容:
1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:
(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。
(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。
(3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。
2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手
机号码和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。
三、实验结果:
四、实验中遇到的问题及解决方法:
相关函数书上都有一样的或类似的,因此并未遇到什么问题。
五、实验心得体会:
书上的例程是含有两个元素的,改为一个元素的时候花了一些时间。参考了书本,对书上的函数有了比较深刻的理解。
附:部分源程序
#include
const int maxsize=100;
struct stu
{
int id;
char name[20];
};
struct SeqList
{
stu data[maxsize];
int length;
};
//主函数
int main()
{
SeqList L;
L.length=0;
stu s;
cout<<"请输入三个学生的学号、姓名:\n";
for(int i=0;i<3;i++)
{
cin>>s.id>>;
Insert(&L,s);
}
cout< Display(&L); int ID; cout<<"请输入要删除的学生的学号"; cin>>ID; Delete(&L,ID); cout< Display(&L); return 0; } 实验二链表的操作(一) 班级XXXXX 学号XXXXXXX 姓名XXXX 第X 周星期X 、XXX 节成绩 一、实验目的: 1、掌握单链表结构的实现方式; 2、掌握单链表常用算法的实现。 二、实验内容: 1、设计一个链表,要求编程实现如下任务: (1)建立一个链表,首先依次输人整数数据元素(个数根据需要键盘给定)。 (2)删除指定值的结点(指定值通过键盘输入),再依次显示删除后的链表中的数据元素。 (3)查找指定值的结点(指定数据由键盘输入),若找到则显示查找成功,若没有找到则显示查找失败。 (4) 在第i个节点(i由键盘输入,i=0表示插入的结点作为第1个结点)之后插入一个元素为x的节点。 三、实验结果: 四、实验中遇到的问题及解决方法: 没太大问题,最大的问题就是不熟悉。 五、实验心得体会: 根据书上的例程,遇到的问题还是与第一次实验差不多,把一个数组元素改为整数元素,很多地方都要改,做不到完全自己写出来。这次实验让我的对链表这种数据结构有了更深的了解,也对指针有了更加广泛的应用,对指针有了更的了解。 附:部分源程序 #include struct IntList { int data; IntList *next; }; //初始化函数 void Init(IntList * head, int x ) { IntList *p=head; IntList *s = new IntList; while( p->next != NULL ) p = p->next; s->data = x; s->next = p->next; p->next = s; } //主函数 void main() { IntList * head; head = new IntList; head->next = NULL; int sel = 1,x,n; cout<<"请输入要录入的个数\n"; cin>>n; cout<<"请输入数据\n"; for( int i=0 ;i < n; i++ ) { cin>>x; Init(head,x); } cout<<"输入的数据为:\n"; Display(head); while( sel != 0 ) { cout<<"选择要进行的操作:1、插入2、删除3、查找0、退出\n"; cin>>sel; switch ( sel ) {