gpt4 book ai didi

c++ - 显示链表

转载 作者:行者123 更新时间:2023-11-30 05:46:37 25 4
gpt4 key购买 nike

我是 C++ 的新手,我正在制作一个链表。尝试显示链接列表的内容时,我一直遇到问题。它要么显示随机数,从中删除项目,要么完全崩溃。我不确定如何修复它,或者问题是否来自程序的其他地方,但我不确定是从哪里来的,因为程序的其余部分运行良好。

class CarNode {
public:
CarNode() : m_pNext(0), m_ticketNum(0) { }
~CarNode();
CarNode(CarNode &): m_pNext(0), m_ticketNum(0) { }
void SetNext(CarNode* p){m_pNext=p;}
void SetTicketNum(int tN){m_ticketNum=tN;}
CarNode *GetNext(void){return(m_pNext);}
int GetTicketNum(void){return(m_ticketNum);}

private:
int m_ticketNum;
CarNode *m_pNext;
};


class CAlley {
public:
CAlley () : m_pTop(0), mSize(0), mMaxSize(MAXSIZE) { }
~CAlley () {}
CAlley (CAlley &):m_pTop(0), mSize(0), mMaxSize(MAXSIZE) { }
int Park(int);
void Retrieve(int,CAlley *);
void Terminate();
void Display();

private:
void SetTop(CarNode *p){m_pTop=p;}
bool Empty(){return ((mSize==0) ? true : false);}
bool Full() {return ((mSize==MAXSIZE) ? true : false);}
int Push(CarNode *);
CarNode * Pop();
CarNode *m_pTop;
int mSize;
int mMaxSize;
};


void CAlley::Display()
{
cout << "Alley A:\t";
CarNode * pCurr = m_pTop;
while (pCurr != NULL)
{
cout << pCurr->GetTicketNum();
if(pCurr->GetNext()!=NULL)
cout<< '\t';
pCurr=pCurr->GetNext();

}
cout << '\n';
}

最佳答案

我可能在与您不同的设置上运行,但是将您的指针设置为 (0) 实际上是否将它们设置为 NULL?如果不是,您可能想明确地这样做。

我认为我们可能需要您的 push/pop 才能正确测试。

顺便说一句,我把它写得很好,可以在 codepad.org 上测试 - http://codepad.org/C15VzSKT`

关于c++ - 显示链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28845562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com