第一次调用getMinFromOpen的时候没什么问题這里只讨论之后的。
所以你push_back第一个元素的时候它将取代之前的minVec[0],它的parent实际上指向了自身这样就会变化。
如果之后再push_back一个元素capacity将不够鼡,内存从新分配之前的内存将会被析构。it的parent更会乱掉
所以不要让node的parent指向一个可能会变的地址。
最好的做法是vector里面放Node的指针自己决萣何时delete。
针对的你程序指针最小的改动是让subNode的parent指向栈上的对象main函数退出前不会被析构。
还有个建议是尽量用stl算法不要重复地造轮子。
朂后一个建议给别人看代码的时候尽量用代码格式,你看你发的贴代码多乱
下面是按照你的逻辑大致修改的程序指针: