《软件技术基础》实验报告

更新时间:2023-10-05 16:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《软件技术基础》

实验报告

学 院: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>>s.name; Insert(&L,s); }

cout<

cout<<\请输入要删除的学生的学号\cin>>ID;

Delete(&L,ID); cout<

实验二 链表的操作(一)

班 级 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、插入 cin>>sel; switch ( sel )

{

2、删除3、查找0、退出\\n\

本文来源:https://www.bwwdw.com/article/cypd.html

Top