- 42
- 0
- 约9.75千字
- 约 18页
- 2016-10-19 发布于重庆
- 举报
数据结构与算法D实验指导书
《数据结构与算法D》实验指导书
武汉理工大学教材中心
2009年7月
实验一 线形链表的运算
一、实验目的
掌握线性表在顺序分配下的插入与删除运算。
二、实验原理
线性表是数据元素的有限序列,在日常生活中有很多相关的例子,如
1、人民币面值构成线性表
2、一年由4个季节构成
3、一个n维向量x=(x1,x2,x3,……,xn)。
线性表的结构特点是:数据元素之间是线性关系,即在线性表中必存在唯一的一个“第
一个”元素,必存在唯一的一个“最后一个”元素;除第一个元素外,每一个元素有且只有一个前趋元素;除最后一个元素外,每个元素有且只有一个后续元素。
若线性表中的数据元素之间可比较,则称该线性表为有序表,否则称为无序表。
三、实验内容
编写程序完成单链表的下列基本操作:
(1) 建立一个长度为n的单链表。
(2) 插入新结点。
(3) 删除某一个结点。
(4) 打印输出La中的结点元素值。
四、实验方法
1、数据产生
通过随机数函数获得数据,或通过赋值方法确定数据。
2、线性表的插入与删除
线性表在本次实验中是动态变化,插入、删除元素,为使线性表任保持有序性,必须要找到元素插入或删除的位置。
插入算法:
Insert_Link(LinkList * L,int i,datatype e)
{
LinkList *p,*s; int j;
s=(LinkList *)malloc(sizeof(Lnode));
s-data=e; s-next=NULL;
p=L; j=0;
while(p!=NULL ji-1)
{
p=p-next; ++j;/*寻找第i-1个结点*/
}
if(!p||ji-1) return ERROR;
s-next=p-next; p-next=s; return OK;
}
删除算法
Delete_Link(LinkList *L,int i,datatype e)
{
LinkList *p,*q; int j;
p=L; j=0;
while(p-next ji-1)
{
p=p-next; ++j;
}
if(!p-next||ji-1) return ERROR;
q=p-next; p-next=q-next; e=q-data;
free(q);
return OK;
}
五、实验步骤和要求
1、确定构成线性表的数据;
2、根据给出算法编制程序,调试通过;
3、运行程序,检查程序是否完成实验内容中的要求。
六、实验报告要求
1、原理说明;
2、算法说明;
3、程序清单。
七、思考题
比较指针和数组实现线性表的插入、删除的异同。
实验二 堆栈/队列结构及运算
一、实验目的
用循环队列的链式结构求解约瑟夫问题。
二、实验原理
队是一种特殊的线性表,它只允许在一端进行插入,在另一端进行删除,允许插入的一端称为队尾,通常用一个队尾指示器指向队尾元素;允许删除的一端称为排头,用一个排头指示器指向排头元素。在队列中,最先插入的元素将最先删除,因此又称队为先进先出线性表。
从存储结构看,队分为顺序队与链队两种。
顺序队用一维数组连续存放队列元素,容量固定;链队的容量无法预先估计,可动态变化。在链队中我们设一个头结点,头指针始终指向头结点,尾指针指向队尾元素。
三、实验内容:
n个人围坐在圆桌周围,从某个人开始编号为1,2,3,4,…,n,编号为1的位置上的人从1开始报数,数到m的人出列,从下一个人又从1开始报数,数到m的人便是第二个出列的人。如此重复下去,直到最后一个人出列为止。
四、实验方法:
1、初始化循环单链表
void init_linklist(LinkList *L)/*循环单链表进行初始化*/
{
(*L)=(POINTER)malloc(sizeof(struct LNode));
(*L)-data=-1;
(*L)-next=(*L);
}
2、 入队操作算法
Inert_sque(LinkList * L)
{int num; /*插入队列的结点值*/
LinkList p;
while(num!=XX)
您可能关注的文档
- 中国老旧城区该如何保护.doc
- 中国老年痴呆症在不断增加.doc
- 中国老百姓炎黄好儿孙重情重义重品行立志先立人.doc
- 数学之“芯”—不变量--科学网曹广福.doc
- 数学中英语专业名词.doc
- 数学之旅测试题.doc
- 中国考古通论教学大纲.doc
- 数学分析(华东师大)第九章定积分.docx
- 数学分类与抽象数学.doc
- 数学和物理化学的联系.docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)