- 161 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:46:10 ]
- >>50 C言語指定だと勝手に解釈してみた
#include<stdio.h> #include<stdlib.h> typedef struct tag_list_t{ int value; struct tag_list_t *next; }list_t; list_t *list_add(list_t *list, int value){ list_t *member, *member_new, *prev; member_new=malloc(sizeof(list_t)); member_new->value=value; member_new->next=NULL; for(member=list,prev=NULL;member;prev=member,member=member->next) if(member->value > value) break; if(!prev){ member_new->next=list; return member_new; } member_new->next=prev->next; prev->next=member_new; return list; } void list_print(list_t *list){ for(;list;list=list->next) printf("%d\n", list->value); } int main(void){ list_t *list=NULL; int value; while(scanf("%d", &value)==1) list=list_add(list, value); list_print(list); return 0; }
|

|