//单链表在指定位置插入元素,O(n)
ElemType ListInsert_L(LinkList *L , int i , ElemType e){
LinkList p = (LinkList)malloc(sizeof(LNode));
int j = 0;
while (p && j < i - 1) {
p = p -> next;
++j;
}
if(!p || j > i - 1) return ERROR;
LinkList new = (LinkList)malloc(sizeof(LNode));
new -> data = e ;
new -> next = p -> next;
p -> next = new;
return OK;
}
//单链表删除指定位置元素,O(n)
ElemType ListDelete_L(LinkList *L , int i){
LinkList p = (LinkList)malloc(sizeof(LNode));
int j = 0;
while (p -> next && j < i - 1) {
p = p -> next;
++j;
}
if (!(p -> next) || j > i - 1) {
return ERROR;
}
LinkList q = p -> next;
p -> next = p -> next -> next;
free(q);
return OK;
}
数据结构复习————单链表在指定位置插入删除元素
最新推荐文章于 2024-11-18 10:47:08 发布