回覆列表
  • 1 # 使用者1260688588366

    head=(LNode *)malloc(sizeof(LNode));這一句不要,沒啥用處,除非你head指向的節點也就是第一個節點的data不需要資料head->next=NULL;這裡修改為head=NULL;讓head先指向NULL,也就是沒有節點其實這個可以不要,再主函式中,先讓連結串列是空連結串列即可(即讓head=NULL)head->data=data; head->next=p->next; head->next=p; 關鍵在這裡你仔細考慮一下,一般來說頭插法的head只是一個指標,不要對head指向的那個節點操作,對p操作完成後,讓head指過去即可所以修改為p->data=data; //賦值過去,因為你現在申請了p的記憶體空間p->next=head; //把head指向的那個節點連線到p的後面,這樣完成頭插 // 這是head沒有用了,p成為連結串列的頭指標head=p; //head再指向這個連結串列的頭部,也就是p指向的節點,為下一次迴圈做準備head=Createlist(head);//連結串列初始化主函式中這樣不太好,建議不要重名

  • 中秋節和大豐收的關聯?
  • Theshy與Marin又被比較,米勒娃娃一句話點明:沒見過這種選手,究竟誰更強?