我有我的代碼雙端隊列::的push_back()在C++中
struct Node
{
int no;
Node* next1;
Node* next2;
char path1;
char path2;
};
struct NodeSet
{
Node* entry;
Node* exit;
};
兩個結構和像
deque<NodeSet> nsQueue[100]
一個deque的問題是,當運行到:nsQueue[level+1].push_back(ns)
執行前:+
ns {entry=0x0026f5a0 {no=2 next1=0x0026f350 {no=3 next1=0x002999e8 {no=4 next1=0x00299a38 {...} next2=0xcdcdcdcd {...} ...} ...} ...} ...} NodeSet
執行後:+
ns {entry=0x0026f5a0 {no=2 next1=0x0026f350 {no=-858993460 next1=0x00000000 {no=??? next1=??? next2=??? ...} ...} ...} ...} NodeSet
爲什麼值會改變?感謝幫助。
請向我們展示您使用的_code_,最好是[SSCCE](http://sscce.org/)。 – 2013-05-10 06:25:48
爲什麼在deque之後有一個數組下標?你確定你需要100個隊列嗎? – Alex 2013-05-10 06:37:23
如果你不想再顯示任何代碼(因此我們只能猜測這會讓答案更加難以回答),那麼你至少能告訴我們什麼時候會發生「級別」的值? – 2013-05-10 07:31:45