線形リストの逆表示
Posted: 2007年3月03日(土) 02:30
はじめまして。
よろしくお願いします。
線形リストのCプログラムを完成させる問題です。
プログラム実行後、いくつかの数値の入力していき、線形リストを生成し、リスト作成後、入力された数値を逆順に表示するプログラムをつくらなければなりません。
データ15,33,57,88,-1と5つの数値を入力していくとノードの前にノードを追加する形でリストを生成する。
データが終了したら、リストの先頭からノードをたどって、次のノードを示すポインタがNULLになるまで表示する。
先ほど、入力したデータであれば、88,57,33,15と開業して表示する。
ちなみに、虫食いです。
#include<stdio.h>
struct node{
int key;
struct node *next;
}
main()
{
int n;
struct node *st, *p, *q, *malloc();
st = NULL;
[ ① ]
while([ ② ])
{
q = [ ③ ];
q->next = st;
q->key = n;
[ ④ ];
[ ⑤ ];
}
p = st;
while([ ⑥ ]);
{
printf("%d \n",p->key);
[ ⑦ ];
}
}
1年前まではc言語習ってたので、出来たんでしょうけど・・・
インターネットで調べてもわかりませんでした・・・
scanfとかも久しぶりに見た気がします・・・。
もちろん、答えを聞くだけでなく、答えを聞いた後は処理の流れを確認し、勉強したいとおもいます。
力を貸してください(・д・;)
よろしくお願いします。
線形リストのCプログラムを完成させる問題です。
プログラム実行後、いくつかの数値の入力していき、線形リストを生成し、リスト作成後、入力された数値を逆順に表示するプログラムをつくらなければなりません。
データ15,33,57,88,-1と5つの数値を入力していくとノードの前にノードを追加する形でリストを生成する。
データが終了したら、リストの先頭からノードをたどって、次のノードを示すポインタがNULLになるまで表示する。
先ほど、入力したデータであれば、88,57,33,15と開業して表示する。
ちなみに、虫食いです。
#include<stdio.h>
struct node{
int key;
struct node *next;
}
main()
{
int n;
struct node *st, *p, *q, *malloc();
st = NULL;
[ ① ]
while([ ② ])
{
q = [ ③ ];
q->next = st;
q->key = n;
[ ④ ];
[ ⑤ ];
}
p = st;
while([ ⑥ ]);
{
printf("%d \n",p->key);
[ ⑦ ];
}
}
1年前まではc言語習ってたので、出来たんでしょうけど・・・
インターネットで調べてもわかりませんでした・・・
scanfとかも久しぶりに見た気がします・・・。
もちろん、答えを聞くだけでなく、答えを聞いた後は処理の流れを確認し、勉強したいとおもいます。
力を貸してください(・д・;)