还剩2页未读,继续阅读
文本内容:
数据结构实现顺序表C顺序表是一种线性表数据结构,使用一段连续的存储空间来存储数据元素在C语言中,可以使用数组来实现顺序表#include stdio.h♦include stdlib.h//定义顺序表的最大长度#define MAXSIZE100typedef struct{//存储数据元素的数组int data[MAXSIZE];//当前顺序表的长度int length;}SqList;//初始化顺序表void InitListSqList*L{for int i=0;iMAXSIZE;i++{//将数组中的所有元素赋值为L-data[i]=0;0}//将顺序表的长度初始化为L-length=0;0}//插入元素{㊀int ListinsertSqListint i,int㊀if i1I IiL-[ngth+1||L-length=MAXSIZE//插入位置不合法或顺序表已满,插入失败return0;for intj=L-length;j=i;j--{//将插入位置及其之后的元L-data[j]=L-data[j-1];素向后移动一位//在插入位置处插入新元素L-data[i-1]=e;//顺序表长度加//插入成功}L-length++;1return1;//删除元素int ListDeleteSqList*L,int i{if i1||iL-1//删除位置不合法,删除失败㊀ngth{return0;for intj=i;jL-length;j++{//将删除位置及其之后的元L-data[j-1]=L-data[j];素向前移动一位//顺序表长度减L-length--;1//删除成功return1;//查找元素int GetElemSqListL,inti{if i1||iL.length{//查找位置不合法,返回-表示查找失败return-1;1//返回查找位置的元素值return L.data[i-1];//输出顺序表中的所有元素void PrintListSqListL{for inti=0;iL.length;i++{,//输出每个元素的值和空格nprintf%d”L.data[i];//输出换行符n nprintf\n;以上代码实现了顺序表的基本操作,包括初始化、插入、删除、查找和输出其中,结构体定义了顺序表的存储结构,包括一个存储数据元素的数组和一SqList个表示当前顺序表长度的整数[函数用于初始化顺序表,将数组中的所nitList有元素赋值为并将顺序表的长度初始化为工函数用于在指定位置0,0List nsert插入一个新元素,如果插入位置不合法或顺序表已满,则插入失败ListDelete函数用于删除指定位置的元素,如果删除位置不合法,则删除失败函数GetElem用于查找指定位置的元素值,如果查找位置不合法,则返回-表示查找失败1函数用于输出顺序表中的所有元素PrintList。
个人认证
优秀文档
获得点赞 0