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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 )

{

相关文档
最新文档