#include<iostream>
#define maxsize 10
using namespace std;
typedef struct{
int v[maxsize];
int len;
}sqlist;
int insert(sqlist*L,int i,int elem)
{
if(L->len==maxsize){cout<<"溢出"<<endl;return 0;}
else if(i<0||i>maxsize-1){cout<<"插入位置错误"<<endl;return 0;}
else {
for(int j=L->len-1;j>=i;j--)
{
L->v[j+1]=L->v[j];
}
L->v[i]=elem;
L->len=L->len+1;
return 1;
}
}//i为数组下标
int dele(sqlist*L,int i)
{
if(L->len==maxsize){cout<<"溢出"<<endl;return 0;}
else if(i<0||i>maxsize-1){cout<<"删除位置错误"<<endl;return 0;}
else {
for(int j=i;j<L->len-1;j++)
L->v[j]=L->v[j+1];
L->len=L->len-1;
return 1;
}
}
int search(sqlist*L,int x)
{
int j;
for( j=0;j<L->len;j++)
{if(L->v[j]==x)
break;
}
if(j<L->len)
return j;
else return 0;
}
int main()
{
sqlist*L;
L=(sqlist*)malloc(sizeof(sqlist));
int i;
L->len=6;
for(i=0;i<6;i++)
cin>>L->v[i];
int a=insert(L,2,18);
int b=dele(L,5);
cout<<search(L,4)<<endl;
for(i=0;i<6;i++)
cout<<L->v[i]<<' ';
return 0;
}
线性表的基本操作
最新推荐文章于 2016-10-15 14:45:27 发布