單鏈表插入新節點問題

2021-09-16 12:01:43 字數 1386 閱讀 2447

insetnodeerror函式內直接定義乙個lnode結構體,而insetnode使用的是結構體指標

最終在vs2017上第一種在列印輸出時失敗,第二種正常。

int insetnodeerror(linklist &l, int i, elemtype e)

s.next = p->next;

p->next = &s;

return ok;

}int insetnode(linklist &l, int i, elemtype e)

s->next = p->next;

p->next = s;

return ok;

}附上全部程式

#include

#include

#define err -1

#define ok 1

#define elemtype int

typedef struct lnode

lnode,* linklist;

int initlist(linklist &l)

//獲取第i為元素,並返回到e

int getelem(linklist l, int i, elemtype &e)

e = p->data;

return ok;

}//查詢節點返回節點的位址

lnode* locateelem(linklist &l, elemtype e)

if (p == null)

printf("查詢失敗!!!\n");

return p;

}//在第i個位置插入元素s

int insetnodeerror(linklist &l, int i, elemtype e)

s.next = p->next;

p->next = &s;

return ok;

}int insetnode(linklist &l, int i, elemtype e)

s->next = p->next;

p->next = s;

return ok;

}int listdel(linklist &l, int i)

lnode* q = p->next;

p->next = q->next;

delete q;

return ok;

}int creatlisthead(linklist &l, int n)

return ok;

}int creatlisttail(linklist &l, int n)

return ok;

}void printlinklist(linklist &l)

printf("\n");

}int main()

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

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

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

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

往單鏈表中插入節點

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