今、単方向線形リストについてが勉強しています。
空リストを作成する関数を作りたいのですが
プログラミングの書き方がわかりません。
どの関数についても関数の第一引数は struct slist*型
struct cell {
struct cell *next;
int data;
};
struct slist {
struct *head;
};
として
ダミーセルありとダミーセルなしの2つを
作りたいのですがこれもやり方がわかりません ; ;
お願いします。
単方向線形リストについて教えてください。
Re: 単方向線形リストについて教えてください。
リスト構造などのキーでググってみて、そこに書かれていることで
何がわからないのかを、参考にしたHPのURLとともに記載してください。
勉強が目的なら、自分で調べることはもっとも大事なことです。
何がわからないのかを、参考にしたHPのURLとともに記載してください。
勉強が目的なら、自分で調べることはもっとも大事なことです。
non
-
若槻
Re: 単方向線形リストについて教えてください。
上の条件で「空リストを生成する」関数を作ったのですが
#include<stdio.h>
#include<stdlib.h>
#include<slist.h>
struct cell {
struct cell *next;
int data;
};
struct slist {
struct cell *head;
};
//リスト作成
void creat (int data, cell *p){
p = (cell *)mlloc(sizeof(cell));
p->next = NULL;
p->data = data;
return p;
}
お願いします。
#include<stdio.h>
#include<stdlib.h>
#include<slist.h>
struct cell {
struct cell *next;
int data;
};
struct slist {
struct cell *head;
};
//リスト作成
void creat (int data, cell *p){
p = (cell *)mlloc(sizeof(cell));
p->next = NULL;
p->data = data;
return p;
}
お願いします。
Re: 単方向線形リストについて教えてください。
上の条件とは、若槻 さんが書きました: 上の条件で「空リストを生成する」関数を作ったのですが
これのことですか?もしそうだとすると、若槻 さんが書きました: 関数の第一引数は struct slist*型
明らかに、条件に反していますね。若槻 さんが書きました: void creat (int data, cell *p){
また、何か自作関数を書いたら、それを動かすためのmain関数もついでに書いてみてはどうでしょうか。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 単方向線形リストについて教えてください。
若月さんが書いた関数
これが、エラーになることを、実際に試してみるのが勉強になります。
第一引数の件ですが、この空リストを生成するのにこのstruct slist*型
を使わなくてはいけないのなら、もっと仕様をはっきりすべきです。
例えば、空リストはリストの先頭に追加するとか、最後尾に追加するとか。
ただ単に、空ノードを作るだけなら、struct slist*型を渡す必要は
ありません。課題を出した人に確認してください。
void creat (int data, cell *p){
p = (cell *)mlloc(sizeof(cell));
p->next = NULL;
p->data = data;
return p;
}第一引数の件ですが、この空リストを生成するのにこのstruct slist*型
を使わなくてはいけないのなら、もっと仕様をはっきりすべきです。
例えば、空リストはリストの先頭に追加するとか、最後尾に追加するとか。
ただ単に、空ノードを作るだけなら、struct slist*型を渡す必要は
ありません。課題を出した人に確認してください。
non