顺序表增删改查主要思想记录
#include <iostream>
using namespace std;
#define MaxSize 10
struct SeqList{
int *data;
int length;
};
void InitList(SeqList &L){
for(int i=0;i<MaxSize;i++){
L.data[i]=0;
}
}
bool Listinsert(SeqList &L,int i,int e){
if(i<1||i>L.length+1){
return false;
}
if(L.length>MaxSize){
return false;
}
for(int j=L.length;j>=i;j--){
L.data[j]=L.data[j-1];
}
L.data[i-1]=e;
L.length++;
return true;
}
bool ListDelete(SeqList &L,int i,int &e){
if(i<1||i>L.length){
return false;
}
if(L.length>MaxSize){
return false;
}
e=L.data[i-1];
for(int j=i;j<L.length;j++){
L.data[j-1]=L.data[j];
}
L.length--;
return true;
}
void PrintList(SeqList &L){
for(int i=0;i<L.length;i++){
cout<<L.data[i]<<" ";
}
cout<<endl;
}
int main(void){
SeqList L;
L.data=new int[MaxSize];
int j=1;
InitList(L);
for(int i=0;i<5;i++,j++){
L.data[i]=j;
}
L.length=5;
PrintList(L);
if(Listinsert(L,1,9)){
PrintList(L);
}
int e=0;
if(ListDelete(L,5,e)){
PrintList(L);
}
cout<<"被删除的元素为:"<<e<<endl;
delete L.data;
}