dragonraje

导航

数据结构2.2 线性表的插入和删除

插入代码
void
insert(List Ptrl,int x,int i){//i是插入的位置,X是插入的数字 int k=0; //只考虑了表格未满的条件。 for(k=MAXSIZE-1;k>=i-1;k--){ //要考虑数组序号和位置之间差1 Ptrl->data[k+1]=Ptrl->data[k]; } Ptrl->data[i]=x; Ptrl->last++;//最后一位加一。 }

时间复杂度:O(n)

删除代码:

void delete(List Ptrl,int i){//i为删除位置
int k;
for(k=i-1;k<MAXSIZE-1;k++){MAXSIZE为数组容量
Ptrl->data[k]=Ptrl->data[k+1];
}

Ptrl->last--;
}



删除原理:

 

posted on 2022-06-24 13:02  dragonraje  阅读(159)  评论(0编辑  收藏  举报