リンクリストにユーザーから提供された番号を記入し、再度印刷してもらいたい。ただし、以下に示す私の実装では、最初の入力番号のみが出力されます。リストの先頭に挿入します。何が悪いのかわかりますか?
struct Node
{
int data;
Node* next;
};
Node newNode(int num, Node *next_node)
{
Node node;
node.data = num;
node.next = next_node;
return node;
}
void headInsert(Node* head, int num)
{
Node* tmp;
tmp = new Node;
tmp->data = num;
tmp->next = head;
head = tmp;
}
int main(int argc, char* argv[])
{
if (argc < 2)
{
std::cout<< "No input for linked list!! \n" <<
"Usage: ./linkedlist 2 3 567 12 .. etc."
<<"\n";
return 0;
}
Node *head, *temp;
head = new Node;
head->data = atoi(argv[1]);
head->next = NULL;
headInsert(head, atoi(argv[2]));
headInsert(head, atoi(argv[3]));
temp = head;
while(temp != NULL)
{
std::cout << temp->data<< " ";
temp = temp->next;
}
return EXIT_SUCCESS;
}