#include<iostream>
using namespace std;
const MaxLen=1000;
struct SeqList{
int*list;
int Len;
}Se;
void insert(int i,Se&se,int item){
if(i<1||i>Len+1){
cout<<"error"<<endl;
return;
}
int n=i-1;
int m=se.Len;
for(;m>n;m--){
se.list[m]=se.list[m-1];
}
se.list[n]=item;
se.Len++;
}
void display(Se se){
for(int i=0;i<se.Len;i++){
if(i!=se.Len-1){
cout<<se.list[i]<<" ";
}else{
cout<<se.list[i]<<endl;
}
}
}
void delete(int i,Se&se){
if(i<1||i>Len){
cout<<"error"<<endl;
return;
}
int n=i-1;
for(;n<se.Len-1;n++){
se.list[n]=se.list[n+1];
}
se.Len--;
}
void find(int i,Se se){
if(i<1||i>Len){
cout<<"error"<<endl;
return;
}
cout<<se.list[i-1]<,endl;
}
int main(){
int n;
cin>>n;
Se se={
new int[MaxLen];
0;
};
int m;
for(int i=0;i<n;i++){
cin>>m;
insert(i+1,se,m);
}
int i;
cin>>i>>m;
insert(i,se,m);
display(se);
cin>>i>>m;
insert(i,se,m);
display(se);
cin>>i;
delete(i,se);
display(se);
cin>>i;
delete(i,se);
display(se);
cin>>i;
find(i,se);
display(se);
cin>>i;
find(i,se);
display(se);
return 0;
}
更正:
#include<iostream>
using namespace std;
const int MaxLen=1000;
typedef struct SeqList{
int*list;
int Len;
}Se;
void display(Se se);
void insert(int i,Se&se,int item,int k){
if(i<1||i>se.Len+1){
cout<<"error"<<endl;
return;
}
int n=i-1;
int m=se.Len;
for(;m>n;m--){
se.list[m]=se.list[m-1];
}
se.list[n]=item;
se.Len++;
if(k==0){
return;
}else{
display(se);
}
}
void display(Se se){
cout<<se.Len<<" ";
for(int i=0;i<se.Len;i++){
cout<<se.list[i]<<" ";
}
cout<<endl;
}
void Delete(int i,Se&se){
if(i<1||i>se.Len){
cout<<"error"<<endl;
return;
}
int n=i-1;
for(;n<se.Len-1;n++){
se.list[n]=se.list[n+1];
}
se.Len--;
display(se);
}
void find(int i,Se se){
if(i<1||i>se.Len){
cout<<"error"<<endl;
return;
}
cout<<se.list[i-1]<<endl;
}
int main(){
int n;
cin>>n;
Se se={
new int[MaxLen],
0
};
int m;
for(int i=0;i<n;i++){
cin>>m;
insert(i+1,se,m,0);
}
display(se);
int i;
cin>>i>>m;
insert(i,se,m,1);
cin>>i>>m;
insert(i,se,m,1);
cin>>i;
Delete(i,se);
cin>>i;
Delete(i,se);
cin>>i;
find(i,se);
cin>>i;
find(i,se);
return 0;
}