List MakeEmpty(){
List L;
L = (List)malloc(sizeof(struct LNode));
L->Last = -1;
return L;
}
Position Find(List L, ElementType X){
for(int i = 0; i <= L->Last; i++){
if(L->Data[i] == X) return i;
}
return ERROR;
}
bool Insert(List L, ElementType X, Position P){
if(L->Last + 1 == MAXSIZE)
{
printf("FULL");
return false;
}
if(P < 0 || P > (L->Last + 1)){
printf("ILLEGAL POSITION");
return false;
}
/*
ElementType temp, nw = X;
for(int i = P; i <= (L->Last + 1); i++){
temp = L->Data[i];
L->Data[i] = nw;
nw = temp;
}
L->Last++;
*/
for(int i = L->Last + 1;i > P;i--){ //从后面开始移动比较方便
L->Data[i]=L->Data[i-1];
}
L->Data[P] = X;
L->Last++;
return true;
}
bool Delete(List L, Position P){
if(P<0||P>L->Last){ //删除位置必须是[0,Last]之间
printf("POSITION %d EMPTY",P);
return false;
}
else{
for(int i = P; i < L->Last; i++){
L->Data[i] = L->Data[i+1];
}
L->Last--;
return true;
}
}
6-2顺序表操作集
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 小学语文修改病句的方法 修改病句是小学语文考试中常见的题型,在修改病句之前,我们应该清晰的了解有哪些病句现象,下面...
- 上一篇文章为:→2.1.2顺序表的结构与实现 顺序表的操作 增加元素 如图所示,为顺序表增加新元素111的三种方式...