文档介绍:word
word
1 / 24
word
实验 一 线性表的根本操作实现与其应用
一、实验目的
1、熟练掌握线性表的根本操作在两种存储结构上的实现。
2、会用线性链表解决简单的实际问题。
二、实验容
题目一 链表根本操作
该程序的功能是实现单链表的定义和操作。该程序包括单链表结构类型以与对单链表操作的具体的函数定义和主函数。其中,程序中的单链表〔带头结点〕结点为结构类型,结点值为整型。单链表操作的选择以菜单形式出现,如下所示:
please input the operation:
〔设为输出元素〕
10. 从链表中删除元素
其他键退出。。。。。
实验 一 线性表的根本操作实现与其应用
一、实验目的
1、熟练掌握线性表的根本操作在两种存储结构上的实现。
2、会用线性链表解决简单的实际问题。
二、实验容
题目一 链表根本操作
word
word
2 / 24
word
该程序的功能是实现单链表的定义和操作。该程序包括单链表结构类型以与对单链表操作的具体的函数定义和主函数。其中,程序中的单链表〔带头结点〕结点为结构类型,结点值为整型。单链表操作的选择以菜单形式出现,如下所示:
please input the operation:
〔设为输出元素〕
10. 从链表中删除元素
其他键退出。。。。。
题目一 链表根本操作
一、数据结构与核心算法的设计描述
1、单链表的最大长度
#define MAXSIZE 100
2、单链表的结点类型定义
/* 定义elemtype为int类型 */
typedef int elemtype;
/* 单链表的结点类型 */
typedef struct STD
{
elemtype elem;
STD *next;
}list, * linklist;
3、初始化单链表
/* 函数功能:对链表进展初始化
word
word
3 / 24
word
参数:链表(linklist L)
成功初始化返回1,否如此返回0 */
int init(linklist &L)
{
L=(linklist)malloc(sizeof(list));//头结点申请存。
if(!L) //判断有无申请到空间。
return 0; //没有申请到存,参数失败返回0
L->next=NULL;
L->elem=0; //单链表中有多少元素
return 1; //成功参数返回1
}
4、清空单链表
/* 函数功能:把链表清空
参数:链表(linklist L)
成功清空链表返回1 */
int makeempty(linklist &L)
{
linklist p,q;
p=L->next;
while(p) //当p非空时,删除p
{
q=p;
p=p->next;
free(q);
}
L->next=NULL; //只剩头指针,所以L->next=NULL
L->elem=0; //清空后链表中元素为0
word
word
4 / 24
word
return 1; //清空后返回1
}
5、求链表长度
/* 函数功能:返回链表的长度
参数;链表(linklist L)
函数返回链表的长度 */
int getlength(linklist L)
{
linklist p;
p=L->next;
int j=0;
while(p)
{
j++; //统计链表中元素
p=p->next;
}
return j; //最后返回链表长度.
}