链表的增删改查

int GetElem(SqList L, int i, ElemType &e) // 顺序表的取值
{
if(i<1||i>L.length)//i值不合理的情况
return 0;//不合理返回0
e=L.elem[i-1];//elem第[i-1]单元存储第i个元素
return 1;
}

int LocateElem_Sq(SqList L, double e) //顺序表的查找
{
int i;
for(i=0;i<L.length;i++)//for循环对于顺序表进行遍历
if(L.elem[i]==e) return i+1;//序号i+1

return 0;
}

int ListInsert_Sq(SqList &L, int i, ElemType e)//顺序表的插入
{
int j;
if(i<1||i>L.length)//i值不合法
{return 0;}
if(L.length==MAXSIZE)//存储空间已满
{ return 0;}
for(j=L.length-1;j>=i-1;j--){
L.elem[j+1]=L.elem[j];//将插入位置及之后的元素后移
}
L.elem[i-1]=e;
++L.length;
return 1;
}
int ListDelete_Sq(SqList &L, int i)//顺序表的删除
//判断i值,不合法返回0;被删除元素之后的元素前移;表长减1;返回1
{
int j;
if(i<1||i>L.length)//i值不合法
return 0;
for(j=i;j<L.length;j++){
L.elem[j-1]=L.elem[j];//被删除元素之后的元素前移
}
--L.length;
return 1;
}

void ListInput(SqList &L)//顺序表数据的输入
//输入顺序表长度;依次输入数据;表长赋值
{
int n;
cin>>n;
for(int i=0;i<n;i++){
scanf("%d", &L.elem[i]);
L.length++;
}
}

void ListOutput(SqList L)//顺序表数据的输出
{
int i;

for (i = 0; i < L.length; i++)
{
cout << L.elem[i] << " ";
}
cout<<endl;

}

posted @ 2021-09-20 22:12  清梦韶华  阅读(92)  评论(0编辑  收藏  举报