リスト構造を使ってSortとSearchをするプログラム
タイトルのとおりのプログラムを組んでみました
----------himajin.c-----------
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// 参考:http://www9.plala.or.jp/sgwr-t/c/sec15-5.html
// コンパイラ:BCC 5.5
// アイテムの加え方が違う。
struct Item {
int data; /* データ */
struct Item *next; /* 次のデータへのポインタ */
};
struct Item *head;
struct Item *tail;
struct Item *addItem(struct Item *p,int newdata){
struct Item *t;
t->data = newdata;
t->next = tail;
p->next = t;
return t;
}
int main(){
struct Item *item;
int inputdata;
head = item;
item->next = tail;
while (scanf("%d", &inputdata) != EOF) {
item = addItem(item,inputdata);
}
/*
search(5);
sort();
*/
return 0;
}
int sort(){
struct Item *j;
struct Item *p;
struct Item *t;
p = head;
t = head;
while (p->next != tail){
while (p->data > t->data){
j = t;
t = t->next;
}
j->next = p;
p->next = t;
p = p->next;
}
}
int search(int searchdata){
struct Item *t;
t = head;
tail->data = searchdata;
while (searchdata != t->data){
t = t->next;
}
if(t == tail){
printf("Not Found");
}
else{
printf("Found"); /*後で考える*/
}
return 0;
}
----
...が、コマンドラインで
himajin.exe
5
と入力してみたところ、いきなりプログラムが落ちました。何がいけないのでしょうか?