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.data[i]=e;
L.length++;
return true;
}
/*
复杂度
最好:插入表尾:1次
最坏:插入表头:n次
平均:(n(n-1)/2 )/n次
*/
bool ListDelete(seqList &L ,int i){
int e; //可以拿一个指针来把删除的数据存放在其他表中
if(i<1 || i>L.length+1)
return false;
e=L.data[i-1];
for(int j=i;j<=L.length;j++)
L.data[j-1]=L.data[j];
L.length--;
}
float GetElem(seqList L, int i){//按位查找复杂度1
return L.data[i-1];
}
int GetLocateElem(seqList L, int a){
for(int i =0;i<L.length;i++)
if(L.data[i]==a)//基本数据类型可以这样判断,结构类型不行 ,考试弱语法可以用
return i+1;
return 0;
}
//复杂度最好1,最坏n,平均(n+1)/2