线性表实验报告

时间:2024.4.20

XX学院计算机科学与技术系

实验报告本


撰写及拟改实验报告注意事项

一、填写信息

1、填写信息齐全、字迹清晰、日期真实;

2、每次实验信息应填写完整,如:实验序号及实验项目;

3、每次实验时间应如实填写完整,如:第    周  星期     第    节;

4、实验报告撰写认真细致,图例完整,有大量源代码的可以附页。

二、批改实验报告

1、一律采用等级制;

2、批改时应对错分明,错误之处应有文字说明或指出错误的标记;

3、批改后的签名和日期应完整。


计算机专业实验课程考试与考核

为推动实验教学改革,规范实验课程考试与考核,提高学生实践动手能力。计算机专业实验部对实验课程考试与考核方法如下规定。

1、考核以实验课程的教学大纲为准。

2、根据课程性质,采用考核制,总成绩采用等级制计分。

以本实验课程完成的实验内容为依托,独立完成老师布置的验证性、综合性、设计性、创新性实验项目。重点考查学生实验态度,在实验过程中能否及时发现问题,解决问题,是否有创新性设计思想。

Ø  实验过程考核

● 学生在实验过程中能否独立、及时完成实验任务,态度是否端正,对工具、仪器能否正确使用等;

● 实验操作是否规范、代码编写是否正确;

● 实验报告撰写是否规范、工整。

Ø  实验成绩评分标准

● 独立完成实验项目,实验结果正确,实验报告撰写规范,并有创新性设计思想;优;

● 独立完成实验项目,实验结果正确,实验报告撰写规范。良;

● 独立完成实验项目,实验结果基本正确,实验报告撰写规范。中;

● 在老师的指导下,基本完成实验项目,实验结果基本正确,实验报告撰写规范。及格;

● 不能完成实验项目,实验结果不正确,实验报告撰写不规范。不及格。


实验项目名称   线性链表的实现与应用   实验项目评分      

实验序号 1          实验时间    2   周   星期        

指导教师签名            批改报告时间  20##   9    


第二篇:数据结构线性表实验报告


《数据结构》实验报告

院系  应用科技学院专业电子信息工程           

姓名  ##         学号 

10  电信 20##  10 11

1.实验目的

       1.掌握线性表的基本运算。

       2.掌握顺序村存储的概念,学会对顺序存储数据结构进行操作。

       3.加深对顺序存储数据结构的理解,逐步培养解决实际问题的编程能力。

2.需求分析

      要求用c语言编写一个演示程序,首先建立一个空表,然后根据用户选择,能够在线性表的任意位置实现插入元素、删除元素、初始化线性表、查找某一元素的在线性表中得位置。

       (1)建立线性表的功能

l  输入的形式和输入的范围:调用出入函数,输入插入的位置和数值,用逗号隔开

l  输出的形式:调用输出函数,按顺序输出线性表所插入的值,以及所对应功能的值。

(2)插入功能

l  输入的形式和输入值的范围:输入一个表示位置的正整数和一个表示插入元素值的正整数,两个正整数之间用逗号隔开,出入位置的和法取值范围是1

l  输出的形式:如果输入的参数合法,则按顺序显示插入后的线性表,否则显示错误。

(3)删除功能

l  输入的形式和输入值的范围:输入一个表示删除位置或要删除的元素值的正整数,删除位置或删除元素值的取值范围是1

l  输出的形式:如果输入参数合法,则按顺序显示删除后线性表中的各个元素值,否则显示参数错误的信息。

(4)查找功能

l  输入的形式和输入值的范围:输入一个要查找的元素值,元素值的合法取值范围是正整数。

l  输出的形式:如果存在要查找的元素,则显示要查找元素的位置,否则显示参数错误信息。

3.概要设计 

(1)为了实现上述程序功能,需要第一一个简化的线性表抽象数据类型:

Typedef struct LinearList{

       Int *list;

       Int size;

       Int MAXSIZE;      

}List;

 基本操作:

l  初始化线性表ListInit (L)

操作前提:L是一个未初始化的线性表

操作结果:将L初始化成一个空的线性表

l  向空表指定位置插入元素  ListInsert (L)

操作前提:L是一个还有位置的线性表

操作结果:将元素插入到指定位子并输出线性表

l  删除指定元素值  ListDelete_1(L)

操作前提:线性表L存在

操作结果:将线性表中指定的元素值删除,并输出线性表

l  删除指定位置的元素值  ListDelete_2(L)

操作前提:线性表L存在

操作结果:将线性表中指定位置的元素值删除,并输出线性表

l  查找线性表中的元素  ListFind(L)

操作前提:线性表L存在

操作结果:在线性表L中查找指定元素e,若存在该元素返回该元素在表中的位置,否则提示错误

l  输出线性表元素 OutputList(L)

操作前提:线性表存在

操作结果:输出整线性表L的所有元素值

       (2)本程序共有6函数:

l  主函数main()

l  初始化线性表函数InitList()

l  输出函数OutputList()

l  插入函数ListInsert()

l  删除函数ListDelete()

l  查找函数ListFind()

各函数的关系如下:

l  主函数Main()调用初始化线性表函数InitList()、插入函数ListInsert()、删除函数ListDelete()、查找函数ListFind()、查找函数ListFind()

l  插入函数ListInsert()调用输出函数OutputList(L)

l  删除函数ListDelete()调用输出函数OutputList(L)

l  查找函数ListFind()调用输出函数OutputList(L)

(3)主函数的伪码

              Main()

              {     定义一个字符参数 ch;

                     定义整形元素位置参数 i;

                     定义整形参数e,j=1;

                     说明一个线性表L;

                     循环做下面处理,直到读入的为‘y’时推出:

{

              根据具体选项,读入需要的数据,做下面的选择处理,知道循环结束:

{

      

根据所选择选项调用相关的函数进行处理,然后输出处理后的线性表以及所要执行的内容。

}

}

}

4.详细设计

            采用线性表实现概要设计中的定义的抽象数据类型,有关数据数据类型和伪码算法定义如下:

       (1)类型定义

                     typedef struct LinearList       

{

                            int *list;                       

int size;                              

                            int MAXSIZE;                           

}List;

       (2)基本操作的伪码算法

l  初始化

void InitList(List  &L)

{

       构造一个空表L;

           定义空表长度为0;

           初始存储空间的容量;

}

l  插入操作

void ListInsert(List &L, int i, int e)

{

       Int *p;

       判断位置i是否合法 不合法返回空;

       判断当前容量是否已满

              {

                     申请一个新的基止newbase;

                     L.list=newbase;

                     增加存储容量;

}

                       定义插入位置*q;

  p>=q;

  --p) *(p+1) = *p; 

插入元素e;

表长加1;

}

l  删除操作

int ListDelete_1(List &L, int e, int &i)

{

       定义三个指针*p,*q,*m;

       P=L.list;;

       循环做下面处理

{

       If(*p=e);

{

       m=p;

       q=L.list+L.size-1;

       被删除元素之后的元素左移;

       表长减1;

     continue;

       p++;

} i++;

}  return 1;

}

l  查找操作

int ListFind(List L, int e)

/*在顺序线性表L中查找第1个值与e满足compare()的元素的位序。

  若找到,则返回其在L中的位序,否则返回0。*/

{    

定义第一元素的存储位置为1;

       P=首元素的地址;

       While(i不能超过表长)

                     ++I;

       if (i <= L.size)

         return i;

      else

         return 0;

}

5.使用说明

       程序名为实验1.exe,程序执行过程如下:

             

       运行程序显示如下菜单:

              printf("\t\t\t      ---线 性 表---         \n");

              printf("\n\t\t\t********************************");

              printf("\n\t\t\t*    1-----初 始 化            *");

              printf("\n\t\t\t*    2-----插入元数值          *");

              printf("\n\t\t\t*    3-----删除指定元素值      *");

              printf("\n\t\t\t*    4-----删除指定位置        *");

              printf("\n\t\t\t*    5-----查找线性表中的元素  *");

              printf("\n\t\t\t*    6-----输出线性表元素      *");

              printf("\n\t\t\t*    0-----退    出            *");

              printf("\n\t\t\t********************************\n");

              printf("请选择菜单号(0-6): "); 

       用户输入0~6的数字,选择执行相应的功能。

每执行一次功能,就会显示执行的结果以及执行后线性表的内容。

l  选择0:提示是否退出程序,输入y退出,输入n返回菜单。

l  选择1:初始化线性表

l  选择2:提示“请输入位置i和数值e:”,要求用户输入一个表示插入元素位置的

和一个表示插入元素的正整数,两个数之间用空格隔开。如果插入合法,按顺序输出线性表,否则提示错误!

l  选择3: 提示“请输入要删除的元素值e:”,要求用户输入一个表示删除元素的正

整数, 删除元素的合法范围是正整数。如果输入参数合法,按顺序输出线性表,否则提示错误!

l  选择4:提示“请输入要删除的指定位置i:”, 要求用户输入一个表示删除位置的

正整数, 删除位置的合法范围是1到当前线性表的长度。如果输入参数合法,按顺序输出线性表,否则提示错误!

l  选择5:提示“请输入线性表中要查找的元素e:”,要求用户输入一个要查找的元

素值,元素的合法范围是正整数。如果输入元素值合法,输出所查找元素值在线性表中的位置,否则提示错误!

l  选择6:直接输出整个线性表。

6.测试结果

      程序运行显示一下菜单:

         ---线---                 ********************************

           *    1-----             *

           *    2-----插入元数值           *

           *    3-----删除指定元素值       *

           *    4-----删除指定位置         *

           *    5-----查找线性表中的元素   *

           *    6-----输出线性表元素       *

           *    0-----退                 *

           ********************************

请选择菜单号(0-6):

(1)初始化操作:

l  选择1

初始化线性表

屏幕提示“初始化成功!”

再次提示选择菜单

       (2)插入操作:

l  选择2

屏幕提示“请输入位置i和数值e:”

输入1 1

屏幕显示输出线性表元素:1 插入成功!

屏幕显示选择菜单

l  选择2

屏幕提示“请输入位置i和数值e:”

输入2 2

屏幕显示输出线性表元素:1 插入成功!

屏幕显示选择菜单

l  选择2

屏幕提示“请输入位置i和数值e:”

输入3 3

屏幕显示输出线性表元素:1 插入成功!

屏幕显示选择菜单

l  选择2

屏幕提示“请输入位置i和数值e:”

输入5 5

屏幕显示插入位置错误!输出线性表元素:1

屏幕显示选择菜单

      (3)删除指定元素值操作:

l  选择    3

屏幕提示“请输入要删除的元素值e:” 

               输入2后,

            屏幕显示输出线性表:1 3删除成功!再次显示选择菜单   

l  选择4

屏幕提示“请输入要删除的指定位置i:”     

               输入1后,

               屏幕显示输出线性表:3删除成功!再次显示选择菜单

       (4)删除指定位置元素操作:

l   选择4

屏幕显示“请输入要删除的指定位置i:”

输入2

屏幕显示删除成功!

输出线性表元素有:1 3

    (5)查找操作:

l  选择5

屏幕显示“请输入线性表中要查找的元素e:”

输入3,

屏幕显示该元数值在线性表中第 3 位

输出线性表元素:1 2 3

输入 4,

屏幕显示该元素值不在线性表中,并输出线性表元素:1 2 3

再次回到选择菜单

       (6)显示:

l  选择6

屏幕显示线性表元素有:1 2 3

再次回到选择菜单

   (7)退出:

l  选择0,

屏幕提示“是否真的退出程序y/n:”

输入n,

屏幕显示请重新选择...:   再次显示程序选择菜单

输入y,

屏幕显示退出程序!Press any key to continue

更多相关推荐:
数据结构 线性表操作实验报告

数据结构实验报告实验题目线性表的操作实验目的1掌握上机调试线性表的基本方法2掌握线性表的一些基本操作实验内容将两个有序链表合并为一个有序链表一需求分析1实验程序中先创建两个有序链表演示程序以用户和计算机的对话方...

线性表的基本操作实验报告

实验一线性表的基本操作实验目的学习掌握线性表的顺序存储结构链式存储结构的设计与操作对顺序表建立插入删除的基本操作对单链表建立插入删除的基本操作算法实验内容1顺序表的实践1建立4个元素的顺序表ssqlist123...

数据结构线性表试验报告

线性表上机实习1实验目的1熟悉将算法转换为程序代码的过程2了解顺序表的逻辑结构特性熟练掌握顺序表存储结构的C语言描述方法3熟练掌握顺序表的基本运算查找插入删除等掌握顺序表的随机存取特性4了解线性表的链式存储结构...

数据结构线性表实验报告

浙江万里学院实验报告专业班级计算机111实验小组第十组实验日期20xx921

线性表实验报告

数据结构实验报告实习题名线性表的基本运算以及多项式的算术运算班级B120xx3姓名陈何渊学号B120xx318日期20xx107顺序表的基本运算一问题描述实现单链表的定义和基本操作实现顺序表的逆置删除表中所有元...

线性表实验报告

福州大学数计学院数据结构上机实验报告验内容名称

数据结构线性表实验报告

实验报告实验一线性表实验目的1理解线性表的逻辑结构特性2熟练掌握线性表的顺序存储结构的描述方法以及在该存储结构下的基本操作并能灵活运用3熟练掌握线性表的链表存储结构的描述方法以及在该存储结构下的基本操作并能灵活...

课程实验报告1线性表

课程实验报告专业年级课程名称指导教师学生姓名学号实验日期实验地点实验成绩教务处制20xx年10月31日

数据结构实验报告二线性表的顺序存储

实验报告二线性表的顺序存储班级20xxXXX姓名HoogLe学号20xxXXXX专业XXXX2858505197qqcom一实验目的1掌握顺序表的基本操作的实现方法2应用顺序表的基本算法实现集合AAUB算法3应...

北邮数据结构实验报告实验一线性表

数据结构实验报告实验名称实验一线性表题目1学生姓名申宇飞班级信通3班班内序号03学号20xx210064日期20xx年11月4日1实验要求实验目的熟练掌握线性表的基本操作包括创建插入删除查找输出求长度合并等运算...

数据结构与算法实验报告-线性表

沈阳工程学院学生实验报告课程名称数据结构与算法实验题目线性表班级网本112班学号20xx414217姓名樊鹏鹏地点F606指导教师吕海华祝世东实验日期20xx年9月27日1234567891011121314

实验报告二:线性表及其基本操作实验(2学时)

实验报告实验二线性表及其基本操作实验2学时实验目的1熟练掌握线性表ADT和相关算法描述基本程序实现结构2以线性表的基本操作为基础实现相应的程序3掌握线性表的顺序存储结构和动态存储结构之区分实验内容类C算法的程序...

线性表实验报告(37篇)