数据结构实验报告精要
数据结构实验报告( 一 )
提交日期:
班级
姓 名
学号
上机号
67
实验名称
线性表
测试数据与运行记录
线性表是最简单的线性结构。线性表的主要操作特点是可以在任意位置插入和删除一个数据元素。
线性表的顺序存储结构
线性表的顺序存储结构的本质是:在逻辑上相邻的两个数据元素ai-1, ai,在存储地址中也是相邻的,既地址连续。我们采用的是含‘静态’一维数组和线性表长的结构体。
测试数据与运行记录如下:
步骤一,建立线性表。
输入 “1”。回车键入,得到“n=?”输入的n即为线性表所要存储的元素长度,由于建立线性表时已规定MAXSIZE=20,因此所输入的n应该小于等于20。此处实验输入n=6。然后,将想要插入的数据元素分别输入数据域data 0到data5。
回车键入,程序得出一段由6个数据元素组成的如下图所示的线性链表。
链表数据为:1,2,3,4,5,6。
测试数据与运行记录
步骤二,插入数据元素
选择 “2”。回车键入,得到“i,e=?”即输入想在位置i插入的数据元素e。本次测试中分别输入3和6。
回车,程序运行得到如下图所展示的一个插入新元素的新链表,即在原数据链表中第3个数据元素所在位置插入新的数据元素“6”,原数据表中的第3个元素及以后的元素序号+1,同时,新链表的长度+1。
因此本实验中新的到的数据链表长度为6+1=7,新链表中数据为:1,2,6,3,4,5,6。
步骤三,删除数据元素
选择 “3”。回车键入,得到“i=?”,即键入想删除的第i个元素,返回该元素的值,使i+1及以后的数据元素的序号-1,同时,数据链表的长度-1。
因此本实验中将步骤二中建立的数据链表第3个元素删除,删除后数据链表长度为7-1=6,得到的数据链表中的数据为:1,2,3,4,5,6。
步骤四,查找元素
选择 “4”。回车键入,得到“e=?”即在步骤三中新生成的数据链表中查找值为e的元素在链表所处的位置。
因此本实验中输入e=“4”,程序运行结果为“已找到,元素位置是4”。
另外输入数据链表中未存储的数据“10”,程序运行结果为“未找到 -1”,说明程序运行无误。
测试数据与运行记录
最后,程序运行完毕,回车退出。
线性表的链式存储结构
线性表链式存储的操作同样包括几个方面:线性表的建立、元素的插入、删除、查询等。其本质是:在逻辑上相邻的两个数据元素ai-1, ai,在存储地址中可以不相邻,既地址不连续。根据指针域的不同和结点的构造链的方式不同,链表主要有单链表、单循环链表和双向循环链表。其中,单链表是最经常使用的链表。
步骤一,建线性链表
选择 “1”。输入元素组成一个链表。链表的建立与顺序表不同,它是一种动态结构。建立线性表的链式存储结构的过程就是一个动态生成链表的过程。因此每输入一个元素即重新分配新的结点,本次实验输入元素为:5,1,2,3,4,5,6,7。
步骤二,插入元素
链表和顺序表的插入运算不同,顺序表在插入时要移动大量的结点,而链表在插入时不需要移动结点,但需要移动指针来进行位置的查找。先使p指向ai-1,然后生成一个数据域值为x的新结点*s,再进行插入操作。
步骤三,删除第i个元素
选择 “3”,回车键入,输入想要删掉的第“i”个元素
步骤四,查找元素
最后,程序运行完毕,回车退出。
根据本部分实验总结的程序流程
一、线性表的顺序结构存储
(1) 创建顺序表create_list L并输出表out_list L
(注:本程序中未进行顺序表的初始化InitList L,其效果与create_list L的效果一样,对实验无影响。)
/* 建立线性表 */
void creat_list(SqList *L)
{ int i;
printf(\n n=?); scanf(%d,L-length);
for(i=0;iL-length;i++){ printf(\n data %d=?,i);
scanf(%d,(L-a[i]));
}
} /* creat_list */
【说明】由于函数中要改变参数L的一维数组[MAXSIZE]的值,因此参数L应设计为输出型参数,即L设计为SqList的指针类型,否则,一维数组子域的修改值将不能带回去。
(2) 插入数据元素 insert_sq
void insert_sq(SqList *L,int i,ElemType e)
{ int j;
if (L-length==MAXSIZE) printf(\n overflow !);
else if(i1||iL-l
您可能关注的文档
- 数据结构(线性表)精要.docx
- 数据结构--例题精要.doc
- 数据结构(C语言版)(第2版)课后习题答案精要.doc
- 数据结构-PPT第三章-栈和队列精要.ppt
- 数据结构-习题集答案-(C语言版严蔚敏)精要.doc
- 数据挖掘概论精要.ppt
- 数据结构 第二章 线性表精要.pptx
- 数据结构-第1章绪论精要.ppt
- 数据结构-第2章线性表精要.ppt
- 数据结构-第4章 串-1精要.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 宝城期货-原油2026年度报告-油海浮沉浪几重,掣鲸博弈破苍穹.pdf VIP
- 学堂在线 雨课堂 学堂云 临床中成药应用 综合考试答案.docx VIP
- 2018年1月13日山东济南事业单位考试《公共基础知识》(客观题部分).docx
- 食品生物技术-绪论.pptx VIP
- 2025年青岛职业技术学院单招笔试英语试题库含答案解析.docx VIP
- 中外建筑史7-近现代建筑.pptx VIP
- 2025年云南省中考生物真题(原卷).pdf
- 高中奥林匹克物理竞赛解题方法集.pdf VIP
- 梁小民西方经济学基础教程(第三版)第01章.ppt VIP
- 小学英语语法代词省公开课一等奖全国示范课微课金奖课件.pptx VIP
原创力文档

文档评论(0)