C 雙向連結串列問題,C 模板雙向連結串列問題

2022-06-28 12:35:13 字數 1053 閱讀 6076

1樓:我已經匿名了

3全部#include

using namespace std;

template

class doublelist

node():prev(null),next(null){}};int thesize;

node *head;

node *tail;

public :

doublelist()

~doublelist()

thesize=0;

}int size()

void addfirst(object o)elsehead = newnode;

thesize++;

};/*void addlast();

object removefirst();

object removelast() ;

*/template

friend ostream& operator<< (ostream&o, const doublelist<_t>& list);

};template

ostream& operator<<(ostream& o, const doublelist& list)

return o;

}int main()

{doublelistlist;

list.addfirst(10);

cout<

2樓:匿名使用者

第一個錯誤:你的建構函式就是錯的。head和tail應該是null。

第二個錯誤:你的解構函式現在有什麼用?應該依次呼叫delete current。current=current->next。

第三個錯誤:就是你的addfirst函式。按你的意思應該是加到連結串列的開頭處吧。

應該這麼寫:

node *newnode = new node (obj,temp->pre,temp);

還有一點,雖然沒錯,但是一般不這麼寫吧。那個結構體放在外面,也寫成模版。當然你這樣也不是錯的。

希望對你有幫助

c語言實現的雙向連結串列插入程式,C語言實現的雙向連結串列插入程式

雙向連結串列 include include typedef struct node node node create list int j node head,p1,p2 p2 head node malloc sizeof node head i a 0 head next head prior...

在Java中如何實現雙向連結串列

雙向連結串列 就是有雙向指標,即雙向的鏈域。鏈結點的結構 data next previous 雙向連結串列不必是雙端連結串列 持有對最後一個鏈結點的引用 雙端連結串列插入時是雙向的。有兩條鏈 一條從頭到尾,一條從尾到頭,刪除遍歷時也是雙向的。雙向連結串列 public class doublyli...

求查錯C 連結串列問題

include iostream.h include stdio.h include stdlib.h define error 0 define ok 1 typedef int elemtype typedef int status typedef struct lnodelnode,linkl...