向單鏈表中插入 刪除節點

2021-08-01 07:43:35 字數 984 閱讀 5445

#include#include typedef struct linknode

node,*linklist;//linklist表示結構體指標

linklist createlist_end(int n);//尾插法建立鍊錶

void showlist(linklist l);//輸出鍊錶內容

void addnode(linklist l,int i,int x);//向單鏈表的第i個位置插入數x

void deletenode(linklist l,int i);//刪除單鏈表的第i個節點

int main(void)

linklist createlist_end(int n)

p->next=null;//將鍊錶的最後乙個節點的指標域置空

head=head->next;//因為頭結點為空,所以所以指向下乙個節點這樣才有資料域

return head;

}void showlist(linklist l)//輸出鍊錶內容

printf("\n");

}void addnode(linklist l,int i,int x)//向單鏈表的第i個位置插入數x

while(l!=null&&knext;

k++;

}if(l==null)//如果找到了鍊錶最後仍未找到,則出錯

p=(linklist)malloc(sizeof(node));

p->data=x;

p->next=l->next;

l->next=p;

}void deletenode(linklist l,int i)//刪除單鏈表的第i個節點

if(l->next==null)//因為l->next為空,沒有找到合法的前驅位置,說明刪除位置i不合法

p=l->next;

l->next=p->next;

free(p);//釋放節點p;

}

向有序環形單鏈表中插入新節點

乙個有序的環形單鏈表,從頭節點開始公升序,同時由最後乙個結點指回頭節點,給定乙個環形鍊錶的頭節點和乙個數值num,建立乙個數值為num的新節點,將該節點插入到環形單鏈表中,要求鍊錶始終有序 這道題就是簡單的遍歷環形單鏈表,然後插入新節點,只需要考慮一些特殊情況即可 鍊錶為空 新節點成環返回 鍊錶正常...

向有序的環形單鏈表中插入新節點

向有序的環形單鏈表中插入新節點 乙個環形單鏈表從頭節點 head 開始不降序,同時由最後的節點指回頭節點。給定這樣乙個環形單鏈表的頭節點 head 和 乙個整數 num,請生成節點值為 num 的新節點,並插入到這個環形鍊錶中,保證調整後的鍊錶依然有序。輸入描述 環形單鏈表的頭節點 head 和 乙...

往單鏈表中插入節點

package testtwo.demo1 public class node 給節點新增下 下 乙個節點 node node currentnode currentnode.next currentnode.next node return currentnode.next 判斷當前節點是否為最後...