#include <iostream>
#include <cstdlib>
using namespace std;
#define initsize 50
typedef struct{
int *data;
int maxsize,length;
}seqlist;
void initlist(seqlist &l){
l.data=(int *)malloc(sizeof(int)*initsize);
l.length=0;
l.maxsize=initsize;
}
bool listinsert(seqlist &l,int i,int e){
if(i<1||i>l.length+1)//位置不合法的
return false;
if(l.length>=l.maxsize)
return false;
for(int j=l.length;j>=i;j--)
l.data[j]=l.data[j-1];
l.length++;
return true;
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
bool listdelete(seqlist &l,int i,int &e){
if(i<1||i>l.length)
return false;
// if(l.length<=0)
// 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;
}
int main(int argc, char** argv) {
seqlist l;
initlist(l);
l.data[0]=1;
cout<<l.data[0];
return 0;
}
6.29之顺序表
最新推荐文章于 2024-09-16 16:07:55 发布