void LinkList::Display()
{
//正序输出链表
node* p = new node;//创建临时结点保存即将输出的结点
p = head->next;
while (p) {
cout << p->data << " ";
p = p->next;//更新指针以输出下一个
}
}
bool LinkList::Reverse()
{
//node* toDelete = head;//不能有头节点,否则翻转后不对。用一个新的head保存链表
head = head->next;
//delete toDelete;//删除头节点
node* pre = NULL;//待翻转结点的前一个结点,要从NULL开始
node* p = head;//保存即将翻转的结点,就是首元结点
while (p) {
node* temp = p->next;//保存好下一个结点,因为马上p要断开和后面的连接
p->next = pre;
pre = p;
p = temp;//不能交换,不然p的值丢失
}
//head = pre;//这步忘了,输出不了
head->next = pre;//这步是为了能输出,head
return true;
}
输出的时候,一直无限循环,崩溃了,reverse函数怎么样改一下