リンクされたリストの作成とトラバースについては、この C++ コードを検討してください (ノードの数は、プログラマーではなくユーザーが決定する必要があります)。
#include <iostream>
using namespace std;
class Node
{
public:
int data; Node* next;
Node(int d, Node* j): data(d),next(j) {cout << "Constructor\n";}
};
int main()
{int n; Node* p; Node* q = 0;
while(cin >> n)
{ p = new Node(n,q);
q = p;}
for(;p->next; p=p->next)
cout << p->data << "->";
cout << p-> data << "->*\n";
return 0;}
上記のコードは完全に機能し、ユーザーがCtrl+Dの後にEnter. ただし、cin >> n を使用して while(cin >> n) を while (true) に置き換えると、ここに示すように、ループ内
while(true)
{ cin >> n;
p = new Node(n,q); q = p;}
その後、ユーザーが終了しようとすると、ループが続行され、新しいノードが自動的に作成されます!! どうして??前もって感謝します