어떻게 하나의 노드 만 남았을 때 void del_begin()
이 충돌합니까 (노드를 추가하는 다른 기능이 있습니까)?C++ (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()'에 대한 코드를 보여주지 않았다 .... –
어, C++은 어디 있습니까? Cout에서 제외하면 C < –
list <> 또는 slist <>가 아마도 더 잘 작동 할 것입니다. –