您的位置:首页 > 理论基础 > 数据结构算法

数据结构复习————单链表在指定位置插入删除元素

2014-08-11 14:52 429 查看
//单链表在指定位置插入元素,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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐