我有我的代码双端队列::的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