顺序表——顺序存储结构
# includestdio.h
# includestdbool.h
#定义最大尺寸20
typedef int DataType
typedef结构
{
数据类型数据[MaxSize];
(同Internationalorganizations)国际组织长度;
} SqList
void Init_List(SqList * L,int DataType[],int n);//顺序表初始化
bool Insert_List(SqList * L,int pos,int x);//顺序表插入
bool Delete_List(SqList * L,int pos,int * x);//顺序表删除
bool Empty _ List(SqLiST * L);//判空
bool Full _ List(SqLiST * L);//判满
int Locate_List(SqList * L,int x);//按值查找
bool Get_List(SqList * L,int pos,int * x);//按位查找
int Length _ List(SqLiST * L);//顺序表长度
void Traverse _ List(SqLiST * L);//遍历线性表
int main()
{
SQL LiST L;
int x,val
int a[8]={12,32,43,55,34,76,81,59 };//定义数组
Init_List(L,a,8);
printf('\n遍历顺序表:');
遍历列表(L);
printf('\n线性表长度:%d\n ',Length _ List(L));
if(Insert_List(L,1,80))
{
printf('\n插入成功!\ n ');
printf('插入的元素:80 \ n ');
printf('位置:第一个位置\ n ');
}
其他
printf('\n插入失败!\ n ');
printf('遍历顺序表:');
遍历列表(L);
Delete_List(L,2,val);
printf('\n删除的元素:%d\n ',val);
printf('位置:第2个位置\ n ');
printf('遍历顺序表:');
遍历列表(L);
如果(定位列表(1,55))
{
printf('\n按值查找成功!\ n ');
printf('查找的元素是:55 \ n ');
printf('位置:第%d个位置\n ',Locate_List(L,55));
}
其他
printf('\n按值查找失败\ n ');
if(Get_List(L,2,x))
{
printf('\n按位查找成功\ n ');
printf('位置:第2个位置\ n ');
}
其他
printf('\n按位查找失败!\ n ');
printf('您查找的元素为:%d\n ',x);
printf('\n遍历顺序表:');
遍历列表(L);
返回0;
}
void Init_List(SqList * L,int DataType[],int n)
{
int I;
if(nMaxSize)
printf('存储空间不足!\ n ');
for(I=0;在;I){ 0
我数据[I]=DataType[I];
}
我长度=n;
返回;
}
bool Insert_List(SqList * L,int pos,int x)
{
int I;
如果(完整列表(左))
返回错误的
if(POS1 | | POSl-长度1)
返回错误的
对于(1=1-长度;i=posi -)
L-数据[我]=L-数据[I-1];
我数据[pos-1]=x;
我长度;
返回真;
}
bool Delete_List(SqList * L,int pos,int * val)
{
int I;
如果(空列表(左))
返回错误的
* val=L-数据[位置-1];
for(I=pos;表示“不”长度;(一)
L-数据[I-1]=L-数据[一];
我长度-;
返回真;
}
布尔空列表(SqList * L)
{
如果(L-长度==0)
返回真;
其他
返回错误的
}
bool Full_List(SqList * L)
{
如果(L-长度==MaxSize)
返回真;
其他
返回错误的
}
int Locate_List(SqList * L,int x)
{
int I;
for(I=0;表示“不”长度;(一)
{
if(x==L-数据[i])
返回一1;
}
返回0;
}
bool Get_List(SqList * L,int pos,int * x)
{
int I;
if(pos1 | | POSl-长度)
返回错误的
* x=L-数据[位置-1];
返回真;
}
int Length_List(SqList *L)
{
返回L-长度;
}
void Traverse_List(SqList * L)
{
int I;
for(I=0;表示“不”长度;(一)
printf('=',L-data[I]);
printf(' \ n ');
返回;
}
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/62065.html