#include<iostream>
using namespace std;
const int MAXSIZE=100;
typedef struct
{
int s[MAXSIZE];
int len;
}sqlist; //定义线性表的顺序存储结构
void display(sqlist seq); //声明显示函数
int InsertList(sqlist *seq,int a,int b);//声明插入操作函数
//void DeleteList(sqlist seq,int a);//读取第i个数据元素
int main()
{
sqlist seq;
int p,q,i;
cout<<"请输入线性表的长度:";
cin>>seq.len;
for(i=0;i<seq.len;i++)
cin>>seq.s[i];
display(seq);
cout<<"请输入将数插到表中的位置:";cin>>p;
cout<<"请输入将插到表中的数:";cin>>q;
InsertList(&seq,p,q);
cout<<"插入元素后的线性表:\n";
display(seq);
/*for(i=0;i<seq.len;i++)
cout<<seq.s[i]<<'\t';
cout<<endl;*/
return 0;
}
void display(sqlist seq)
{
for(int i=0;i<seq.len;i++)
cout<<seq.s[i]<<'\t';
cout<<endl;
}
int InsertList(sqlist *seq,int a,int b)
{
if(a<1||a>seq->len+1)
{
cout<<"插入位置"<<a<<"不合法"<<endl;
}
if(seq->len>=MAXSIZE)
{
cout<<"表已满无法插入"<<endl;
}else{
for(int j=seq->len;j>=a;--j)
{
seq->s[j]=seq->s[j-1];
}
seq->s[a-1]=b;
seq->len++;
return(1);
}
}
#include<iostream>
using namespace std;
const int MAXSIZE=10;
typedef struct
{
int s[MAXSIZE];
int len;
}sqlist;
void display(sqlist seq);
int DeleteList(sqlist *seq,int i);
int main()
{
sqlist seq;
cout<<"请输入线性表的长度:";
int p,i;
cin>>seq.len;
for(i=0;i<seq.len;i++)
cin>>seq.s[i];
display(seq);
cout<<"请输入要删除的元素在表中的位置:"; cin>>p;
DeleteList(&seq,p);
cout<<"删除元素后的线性表:\n";
display(seq);
return 0;
}
void display(sqlist seq)
{
for(int i=0;i<seq.len;i++)
cout<<seq.s[i]<<'\t';
cout<<endl;
}
int DeleteList(sqlist *seq,int i)
{
int j;
if(i<1||i>seq->len+1)
{
cout<<"插入位置"<<i<<"不合法"<<endl;
}
else
{
for(j=i;j<=seq->len;j++)
seq->s[j-1]=seq->s[j];
seq->len--;
}
return(1);
}
数据结构 线性表的插入和删除运算
最新推荐文章于 2024-09-08 10:44:31 发布