所以邏輯如下: 假設鏈接列表由(6,7,8)
作爲數據組成,並且我通過insert(1,5)
,所以列表將爲(5,6,7,8)
。 同樣在insert(3,2)
上的鏈接列表是(6,7,2,8)
。通過指定第n個節點的位置插入數據在單個鏈接列表中
我試圖編譯下面的代碼,但它通過「 - 啓動」
我試着調試,甚至尋找問題的答案,但發現給我的錯誤,說明─
未定義參考無主請大家提出解決方案。歡迎任何進一步的建議和錯誤修復。 (我已經使用鍵盤編譯)
#include<iostream> using namespace std; class Link_no { struct node { int data; node *next; }; void insert(int n,int d,node *head) { node *temp=new node(); temp->data=d; temp->next=NULL; node *temp1; if(n==1) { temp->next=head; head=temp; return; } else temp1=head; { for(int i=0;i<n-1;i++) { temp1=temp1->next; } temp->next=temp1; temp1=temp; } } void print(node *start) { node *temp=start; while(temp!=NULL) { cout<<temp->data<<endl; temp=temp->next; } } int main() { node *head=NULL; Link_no o1; o1.insert(1,5,head); o1.insert(2,7,head); o1.insert(1,9,head); o1.print(head); return 0; } }
C++心不是Java中,'main'確實不要一類 – user463035818
我猜這是功課裏面屬於,但是如果你可以改變它:名單是這項工作一個非常糟糕的數據結構,動態像'std :: vector'這樣的數組可以做得更好。 –