#include <iostream>
using namespace std;
#define ERROR 0
#define OK 0
#define MAXSIZE 100
typedef int Status;
typedef int elemtype;
typedef struct{
int length;
elemtype elem[MAXSIZE];
}SqList;
Status IntiList(SqList &L,int k)//创建线性表
{ int i;
cout<<"输入线性表的元素:";
for(i=0;i<k;i++)
{
cin>>L.elem[i];
}
L.length=k;
return OK;
}
Status Listdelete(SqList &L,int i,elemtype e)//在顺序表中删除第i个元素,
//并用e返回
{ int j;
if((i<1)||(i>L.length)) return ERROR;//i值不合法
e=L.elem[i-1];//将欲删除的元素保留在e中
for(j=i;j<=L.length-1;j++)
L.elem[j-1]=L.elem[j];//被删除元素之后的元素前移
L.length--;//表长减1
return OK;
}
int main()
{ int i,n,n1;
elemtype e;
SqList la;
cout<<"当前线性表长度为:";
cin>>n;
IntiList(la,n);
cout<<"删除的位置为:";
cin>>i;
if(Listdelete(la,i,e))
cout<<"无法删除"<<endl;
else
{
cout&l
数据结构——线性表的删除
最新推荐文章于 2024-02-19 22:18:35 发布