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 判斷當前節點是否為最後...