数据结构-实验一顺序表的基本操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 顺序表基本操作
实验目的
1.熟悉C语言的上机环境,掌握C语言的基本结构。
2.会定义线性表的顺序存储结构。
3.熟悉对顺序表的一些基本操作和具体的函数定义。
注意事项
在做第一次“数据结构”课程实验之前,要在硬盘上建立好自己的工作目录,专门来存储你所做的实验程序及相关信息,以后每次做实验都采用这个目录。
实验内容
该程序的功能是对元素类型为整型的顺序表进行一些操作。该程序包括顺序表结构类型的定义以及对顺序表操作的具体的函数定义和主函数。
/* 定义ElemType为int类型*/
typedef int ElemType;
/*顺序表存储空间的总分配量*/
#define MAXSIZE 100
/* 顺序存储类型*/
typedef struct
{ElemType data[MAXSIZE]; /*存放线性表的数组*/
int length; /* length是顺序表的长度*/
}SeqList;
/* 初始化顺序表*/
SeqList Seq ListInit( )
/* 清空顺序表*/
SeqList ListClear(SeqList L)
/* 求顺序表长度*/
int ListLength(SeqList L)
/* 检查顺序表是否为空*/
int ListEmpty(SeqList L)
/*检查顺序表是否为满*/
int ListFull(SeqList L)
/* 遍历顺序表*/
void ListTraverse(SeqList L)
/* 从顺序表中查找元素*/
ElemType ListGet(SeqList L ,int i)
/* 从顺序表中查找与给定元素值相同的元素在顺序表中的位置*/ int ListLocate(SeqList L, ElemType x)
/* 向顺序表中插入元素*/
SeqList ListInsert(SeqList L,int i,ElemType x)
/* 从顺序表中删除元素*/
SeqList ListDelete(SeqList L,int i)
/*求顺序表中元素的前驱*/
ElemType ListPrior (SeqList L,ElemType e)
/*求顺序表中元素的后继*/
ElemType ListNext(SeqList L,ElemType e)
====================================================================== ===
部分参考程序
===================================================================== ==============
/* 定义ElemType为int类型*/
typedef int ElemType;
/*顺序表存储空间的总分配量*/
#define MAXSIZE 100
#define FALSE 0
#define TRUE 1
/* 顺序存储类型*/
typedef struct
{ElemType data[MAXSIZE]; /*存放线性表的数组*/
int length;/* length是顺序表的长度*/
}SeqList;
/* 初始化顺序表*/
SeqList SeqListInit( )
{SeqList L;
L.length=0;
return L;
}
/* 清空顺序表*/
SeqList ListClear(SeqList L)
{L.length=0;
return L;
}
/* 求顺序表长度*/
int ListLength(SeqList L)
{return(L.length);}
/* 检查顺序表是否为空*/
int ListEmpty(SeqList L)
{if(L.length) return(FALSE);
else return(TRUE);
}
/*检查顺序表是否为满*/
int ListFull(SeqList L)
{if(L.length==MAXSIZE) return(TRUE);
else return(FALSE);
}
/* 遍历顺序表*/
void ListTraverse(SeqList L)
{int i;
if(L.length<=0) printf("顺序表为空\n");
else {printf("当前顺序表中的元素为:\n");
for(i=1;i<=L.length;i++) printf("%5d ",L.data[i-1]); printf("\n");
}
}
/* 从顺序表中查找元素*/
ElemType ListGet(SeqList L ,int i)
{ElemType e;
e=L.data[i-1];
return(e);
}
/* 从顺序表中查找与给定元素值相同的元素在顺序表中的位置*/
int ListLocate(SeqList L, ElemType x)
{int i=0;
while(i i++;