1 / 63
文档名称:

第03章_线性表(II).ppt

格式:ppt   页数:63
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第03章_线性表(II).ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第03章_线性表(II).ppt

文档介绍

文档介绍:数据结构
李云清杨庆红揭安全
第3章线性表的链式存储
线性表的存储方式除了常用的顺序存储外,采用链式方式存储也是一种常见的方式。本章将介绍一般线性表的几种链式存储实现方式,如单链表、带头结点单链表、循环单链表、双链表以及特殊的线性表------栈和队列的链式存储实现。

数据结构的存储方式必须体现它的逻辑关系。在链式存储方式下,实现中除存放一个结点的信息外,还需附设指针,用指针体现结点之间的逻辑关系。如果一个结点有多个后继或多个前驱,那么可以附设相应个数的指针,一个结点附设的指针指向的是这个结点的某个前驱或后继。
线性结构中,每个结点最多只有一个前驱和一个后继,这里暂且设定更关心它的后继,这样在存储时除了存放该结点的信息外,只要附设一个指针即可,该指针指向它的后继结点的存放位置。每个结点的存储形式是:
info
next
例,数据的逻辑结构B=(K,R)
其中 K={k1,k2,k3,k4,k5}
R={r}
R={< k1,k2>,<k2,k3>,<k3,k4>,<k4,k5>}
是一个线性结构,它的链式存储如图所示
为了清晰,左图可以更简洁地用下图表示。
单链表
单链表是线性表链式存储的一种形式,其中的结点一般含有两个域,一个是存放数据信息的info域,另一个是指向该结点的后继结点的存放地址的指针域next。一个单链表必须有一个首指针指向单链表中的第一个结点。。
单链表类型的描述如下:
ADT link_list{
数据集合K:K={k1, k2,…, kn},n≥0,K中的元素是datatype类型
数据关系R:R={r}
r={ <ki, ki+1>| i=1,2,…,n-1}
操作集合:
(1) node *init_link_list() 建立一个空的单链表
(2) void print_link_list(node *head) 输出单链表中各个结点的值
(3) node *insert_in_front_link_list(node *head,datatype x)
插入一个值为x的结点作为单链表的第一个结点
(4) node *find_num_link_list(node *head,datatype x) 在单链表中查找一个值为x的结点
(5) node *find_pos_link_list(node *head,int i) 在单链表中查找第i个结点
(6) node *insert_x_after_y(node *head,datatype x,datatype y)
在单链表中值为y的结点后插入一个值为x的新结点
(7) node *insert_x_after_i(node *head,datatype x,int i)
在单链表中第i个结点后插入一个值为x的新结点
(8) node *delete_num_link_list(node *head,datatype x) 在单链表中删除一个值为x的结点
(9) node *delete_pos_link_list(node *head,int i) 在单链表中删除第i个结点
} ADT link_list;

单链表结构的C语言描述如下:
/**********************************/
/*链表实现的头文件, */
/**********************************/
typedef int datatype;
typedef struct link_node{
datatype info;
struct link_node *next;
}node;
单链表几个基本操作的具体实现:
/*****************************************************/
/* 建立一个空的单链表*/
/* ,函数名init_link_list() */
/*****************************************************/
node *init_link_list() /*建立一个空的单链表*/
{
return NULL;
}

/*****************************************************/
/* 输出单链表中各个结点的值*/
/* ,函数名print_link_list() */
/**********************

最近更新

高效市场调查方案建议书 5页

高中生生活技能培养建议书 5页

骨折恢复期腿部训练建议书 5页

餐厅品质改进建议书 5页

风险缓解对策建议书 6页

预防街头诈骗行为建议书 5页

心外科术后胸腔闭式引流护理 72页

2024年海南省(28所)马克思主义基本原理概论.. 12页

2024年淳安县幼儿园教师招教考试备考题库带答.. 31页

2024年湖北健康职业学院马克思主义基本原理概.. 12页

2024年湖南信息职业技术学院马克思主义基本原.. 12页

房颤患者的健康教育与护理 41页

2024年炎陵县幼儿园教师招教考试备考题库带答.. 30页

2024年白城职业技术学院马克思主义基本原理概.. 12页

2024年石家庄医学高等专科学校马克思主义基本.. 13页

2024年神池县幼儿园教师招教考试备考题库带答.. 30页

2024年竹溪县幼儿园教师招教考试备考题库含答.. 31页

2024年绵阳城市学院马克思主义基本原理概论期.. 13页

2024年荣昌县招教考试备考题库附答案解析 31页

2024年蚌埠工商学院马克思主义基本原理概论期.. 12页

2024年西吉县招教考试备考题库带答案解析 30页

2024年贵州财经大学马克思主义基本原理概论期.. 12页

2024年辽宁中医药大学杏林学院马克思主义基本.. 12页

2024年连云港师范学院马克思主义基本原理概论.. 13页

2024年那曲县幼儿园教师招教考试备考题库附答.. 31页

2024年郧西县招教考试备考题库含答案解析(必.. 31页

2024年重庆护理职业学院马克思主义基本原理概.. 12页

2024年铜仁学院马克思主义基本原理概论期末考.. 13页

2024年长春大学马克思主义基本原理概论期末考.. 12页

2024年阿坝职业学院马克思主义基本原理概论期.. 12页