PTA:リストを確立するために、逆のデータ(20ポイント)(C言語版)

この問題は、機能、入力データの逆の順序でリストを達成するために必要。

定義インタフェース機能:
構造体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; 
}
公開された24元の記事 ウォンの賞賛0 ビュー140

おすすめ

転載: blog.csdn.net/qq_45624989/article/details/105257048