云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 顺序表的操作实验报告

顺序表的操作实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/23 0:33:22

顺序表的基本操作

一、实验目的

1、复习C++语言程序设计中的知识。 2、熟悉线性表的逻辑结构。

3、熟悉线性表的基本运算在两种存储结构上的实现。 4、掌握顺序表的存储结构形式及其描述和基本运算的实现。 5、熟练掌握动态链表结构及有关算法的设计

二、实验内容

实现顺序表的建立、取元素、修改元素、插入、删除等顺序表的基本操作。 [基本要求]

(1).依次从键盘读入数据,建立带头结点的顺序表; (2).输出顺序表中的数据元素

(3).根据指定条件能够取元素和修改元素; (4).实现在指定位置插入和删除元素的功能。

三、实验步骤、调试及输出结果

(—) . 数据结构与核心算法的设计描述: #include #include /*顺序表的定义:*/ #define ListSize 100 typedef struct

{int elem[ListSize]; /*向量elem用于存放表结点*/ int length; }SeqList; /*顺序表的建立:*/

void CreateList(SeqList *L,int n) {int i;

printf(\ for(i=1;i<=n;i++)

scanf(\ L->length=n;

/*当前的表长度*/

}

/*顺序表的打印:*/

void PrintList(SeqList *L,int n) {int i;

printf(\ for(i=1;i<=n;i++) printf(\ printf(\ }

/*顺序表的查找:*/

int LocateList(SeqList *L,int x) {int i; i=1;

while (((L->elem[i])!=x) &&(i<=10)) ++i;

if ((L->elem[i])==x) return(i); else return(0); }

/*顺序表的插入:*/

void InsertList(SeqList *L,int x,int i) {int j;

if (i<1 ||i>L->length+1) printf(\ else

{for(j=L->length;j>=i;j--) L->elem[j+1]=L->elem[j]; L->elem[i]=x; L->length++; } }

/*顺序表的删除:*/

2

void DeleteList(SeqList *L,int i) {int j;

if (i<1 ||i>L->length)

printf(\ else

{for(j=i;j<=(L->length)-1;j++) L->elem[j]=L->elem[j+1]; L->length--; } }

void main() {

SeqList L; int i,x; int n=10;

/*当前顺序表的长度*/

L.length=0; CreateList(&L,n);

/*建立顺序表*/

PrintList(&L,L.length);

/*输出顺序表*/

printf(\

scanf(\

i=LocateList(&L,x); /*顺序表查找*/ printf(\ printf(\ scanf(\

printf(\ scanf(\

InsertList(&L,x,i); /*顺序表插入*/ PrintList(&L,L.length);

/*输出顺序表*/

printf(\

scanf(\ DeleteList(&L,i);

/*顺序表删除*/

PrintList(&L,L.length); /*输出顺序表*/ }

3

(二). 调试及输出结果

测试数据: 1、输入n个数; 2、输出顺序列表;3、顺序表的查找;4.顺序表的插入;5、顺序表的删除;

数据测试如下截图:

四、实验讨论与总结:

通过这次写实验报告,我深切的理解了这门课的本质。刚开始学这门课时,当时还不清楚这门课程的目的,现在,我真正的理解了:数据结构像是身体的骨骼。数据结构是个框架,模型,抽象数据类型中列举了各种操作,而所用的C++语言,将各种操作描述出来构成算法。

在这次设计的过程中,我知道了顺序表是按顺序存储的,用了一维数组来存储,但是,在执行时出现了问题。后来问同学,指出我的错误,不过获益不少。我又重新整理思路,把顺序表的基本操作写好了。虽然走了很多弯路,但是让我认识到,一定要创新,大胆,不能按照旧的思路去干新的事情。

单链表写起来简单多了,这个很快就搞定了。但是细节上出了问题。比如说,有些变量的重复定义,有些变量又没有定义,在调用函数,就直接复制过来,没有改参数……通过修改,我深刻理解到:细节决定成败,在以后,不管做任何事情都要认真,细心。

4

这次的实验报告,让我受益匪浅,不仅有知识方面的,还有生活和精神上的。总之,我会继续我的兴趣编程,相信在编程的过程中,能不断的提高自己。

5

搜索更多关于: 顺序表的操作实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

顺序表的基本操作 一、实验目的 1、复习C++语言程序设计中的知识。 2、熟悉线性表的逻辑结构。 3、熟悉线性表的基本运算在两种存储结构上的实现。 4、掌握顺序表的存储结构形式及其描述和基本运算的实现。 5、熟练掌握动态链表结构及有关算法的设计 二、实验内容 实现顺序表的建立、取元素、修改元素、插入、删除等顺序表的基本操作。 [基本要求] (1).依次从键盘读入数据,建立带头结点的顺序表; (2).输出顺序表中的数据元素 (3).根据指定条件能够取元素和修改元素; (4).实现在指定位置插入和删除元素的功能。 三、实验步骤、调试及输出结果 (—) . 数据结构与核心算法的设计描述: #include #include

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com