当只剩下一个节点(我有其他功能添加节点)时,void del_begin()
怎么会崩溃?C++中的链接列表(pt。2)
#include <iostream>
using namesspace std;
node *start_ptr = NULL;
node *current;
int option = 0;
void del_end()
{
node *temp, *temp2;
temp = start_ptr;
if (start_ptr == NULL)
cout << "There are no nodes" << endl;
else
{
while (temp->nxt != NULL)
{
temp2 = temp;
temp = temp->nxt;
}
delete temp;
temp2->nxt = NULL;
}
}
void display()
{
node *temp;
temp = start_ptr;
cout << endl;
if (temp == NULL)
cout << "There are no nodes to display" << endl;
else
{
while(temp != NULL)
{
cout << temp->name << ", " << temp->profession << ", " << temp->age;
if (temp == current)
cout << "***";
cout << endl;
temp = temp->nxt;
}
cout << endl;
}
}
int main()
{
start_ptr = NULL;
int option;
do
{
display();
cout << "0 for EXIT" << endl;
cout << "1 to ADD TO END" << endl;
cout << "2 to ADD TO BEGINNING" << endl;
cout << "3 to DELETE LAST" << endl;
cout << "4 to DELETE BEGINNING" << endl;
cout << ">>";
cin >> option;
switch (option)
{
case 1 : add_end(); break;
case 2 : add_begin(); break;
case 3 : del_end(); break;
case 4 : del_begin(); break;
}
}
while (option != 0);
return 0;
}
您没有向我们展示'del_begin()'的代码...... – 2010-07-01 22:46:15
Uhm,C++在哪里?除了cout,这可能也是C. – 2010-07-01 22:50:58
list <>或slist <>可能会更好地为您服务。 – 2010-07-01 22:58:22