#include<iostream>
using namespace std;
#define MAXSIZE 100
typedef struct //建立顺序表的结构体
{
int date[MAXSIZE];
int length=0;
}sqlist;
void display(sqlist *L)//遍历顺序表并输出
{
for(int i=0;i<L->length;i++)
cout<<L->date[i]<<" ";
cout<<endl;
}
int getlist(sqlist L,int n,int *m)//查看顺序表n处的数据
{
if(n<1||n>L.length) return 0;
*m=L.date[n-1];
return 1;
}
int insertlist(sqlist *L,int n,int m)//在n处插入一个数据m
{
if(L->length==MAXSIZE) return 0;
if(n<1||n>L->length+1) return 0;
if(n<=L->length)
{
for(int i=L->length-1;i>=n-1;i--)
L->date[i+1]=L->date[i];
}
L->date[n-1]=m;
L->length++;
return 1;
}
int dellist(sqlist *L,int n,int *m)//删除n处的元素并用m储存
{
if(L->length==0) return 0;
if(n<1||n>L->length) return 0;
*m=L->date[n-1];
for(int i=n;i<L->length;i++)
L->date[i-1]=L->date[i];
L->length--;
return 1;
}
int main()
{
sqlist L;
int n;cin>>n;
for(int i=0;i<n;i++)
{
L.date[i]=i;
L.length++;
}
display(&L);
int n1,m1;cin>>n1;
getlist(L,n1,&m1);
cout<<m1<<endl;
int n2,m2;cin>>n2>>m2;
insertlist(&L,n2,m2);
display(&L);
int n3,m3;cin>>n3;
dellist(&L,n3,&m3);
cout<<m3<<endl;
display(&L);
}
顺序表的基本操作c++
最新推荐文章于 2023-06-24 15:17:13 发布