この問題は、機能、入力データの逆の順序でリストを達成するために必要。
定義インタフェース機能:
構造体ListNode createList *();
読まれたとき、正の整数の系列からの入力を使用して取得Createlist関数scanf関数は、入力の終了を示し-1。入力データの逆の順序でリストを確立し、リストのヘッドポインタを返します。次のようにリストノード構造が定義されています。
構造体ListNode {
intデータ。
次のstruct ListNode *;
}。
審判試験サンプルプログラム:
書式#include <stdio.hに>
する#include <stdlib.h>に含ま
構造体ListNode {
intデータ。
次のstruct ListNode *;
}。
構造体ListNode * createlist();
INTメイン()
{
構造体ListNode * P、*ヘッド= NULL;
head = createlist();
for ( p = head; p != NULL; p = p->next )
printf("%d ", p->data);
printf("\n");
return 0;
}
/ *あなたのコードはここに埋め込まれます* /
サンプル入力:
1234567-1
出力サンプル:
7654321
struct ListNode *createlist()
{
struct ListNode *head, *p;
int temp;
head = (struct ListNode*)malloc(sizeof(struct ListNode));
head->next = NULL; // 如果不初始化指向任意地方
scanf("%d", &temp);
while (temp != -1)
{
p = (struct ListNode*)malloc(sizeof(struct ListNode));
p->data = temp;
p->next = head->next;
head->next = p;
scanf("%d", &temp);
}
return head->next;
}