みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

リスト構造のプログラミング

#include<stdio.h>
#include<stdlib.h>
typedef struct number{
float x;
struct number *next;
}Num;
void append_list(Num **, float);
int main(void)
{
Num *start,*p;
float i,d;
start=NULL;
for(i=0.0;i<10.0;i++){
append_list(&start,i);
}
p=start;
while(p!=NULL){
printf("%f\n",p->x);
p=p->next;
}
p=start;
while(p !=NULL){
Num *q;
q=p;
p=p->next;
free(q);
}
return 0;
}
void append_list(Num **s, float n)
{
Num *end, *new;
if(*s==NULL){
*s=(Num *)malloc(sizeof(Num)*1);
(*s)->x=n;
(*s)->next=NULL;
return;
}end=(*s);
while(end->next !=NULL){
end=end->next;
}
new=(Num *)malloc(sizeof(Num)*1);
new->x=n;
new->next=NULL;
end->next=new;
}
0~9までの数値を順番に追加してリスト構造のデータ構造で
保存するプログラミングを作ったのですが、これにキーボード
から入力した1つの実数(0~9)を数値の順序を乱さないよう
にその数値を持つ要素を追加するにはどうすればよいのでしょうか?

投稿日時 - 2007-12-30 00:01:57

QNo.3637381

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

リスト構造を先頭から順に探索しながら、
リストに登録済みの数値とキーボードから入力した数値との
大小関係を比べて、キーボードから入力した数値を
リストのどこに追加すればよいかを決めます。

追加する場所が決まったら、nextポインタを適切に張り替えます。

投稿日時 - 2007-12-30 08:23:40

あなたにオススメの質問