連結リスト 双方向リスト 

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
t

連結リスト 双方向リスト 

#1

投稿記事 by t » 14年前

1,連結リストの最後に要素を追加するプログラムを作成しなさい.ただし,連結リストの最後に要素を指すポインタを保持している場合と保持していない場合について,プログラムを作成すること.

2,双方向リストについて,領域の確保,確保した領域をリストの先頭に追加,要素の削除を行うプログラムを作成しなさい.

3,連結リストにより,スタックを表現できるプログラムを作成しなさい.


このような問題がでたのですが,全くわかりません.
教えていただけないでしょうか?
c言語でプログラムお願いします.

non
記事: 1097
登録日時: 14年前

Re: 連結リスト 双方向リスト 

#2

投稿記事 by non » 14年前

1と2については、検索すれば、いくらでもプログラムがあるでしょう。
何を教えて欲しいのかわかりませんので、少し調べてわからないことを整理してください。
non

kid

Re: 連結リスト 双方向リスト 

#3

投稿記事 by kid » 14年前

ほんとに全くわからないのですか?
ネットで調べれば多少はのってますよ。
まず構造体の型枠から順に考えましょう。

t

Re: 連結リスト 双方向リスト 

#4

投稿記事 by t » 14年前

ネットでも調べましたがよくわかりません.
プログラムを教えていただけたら,幸いです.


hidden

Re: 連結リスト 双方向リスト 

#6

投稿記事 by hidden » 14年前

わかりませんだけでは回答者が何をすればいいのかわからないのですよ。
なにもわからないのであればリストの概念あたりから説明しなければいけないのですが
それをもとめていますか?

アバター
maloc
記事: 4
登録日時: 14年前

Re: 連結リスト 双方向リスト 

#7

投稿記事 by maloc » 14年前

ネット、教材にも沢山やり方、情報はあります。
リスト構造は紙に図解しながらの方が整理しやすいですよ。
ポインタも重要なところなので今ここで全て投げ出してしまうと引きずってしまうことになります。

以下のソースは追加して表示のみ。
リストの基本の部分は大丈夫でしょうか?

コード:

typedef struct _LIST{
	int data;
	struct _LIST*  p_next;
}LIST;
すvoid main(void)
{
	LIST*  p_add;

	// ノードを一つ生成
	p_add = (LIST*)malloc(sizeof(LIST));

	// ポインタを用いて各メンバを初期化
	p_add->data = 0;
	p_add->p_next = NULL;

	// 表示して確認してみる
	printf("data   = %d\n",p_add->data);
	printf("p_next = %p\n",p_add->p_next);

	// メモリ開放
	free(p_add);
}

box
記事: 2002
登録日時: 14年前

Re: 連結リスト 双方向リスト 

#8

投稿記事 by box » 14年前

学校の課題か何かなら、できそうな友人に教えを請い、
お礼に食事でもごちそうしてあげるとよいでしょう。

全くわからないとおっしゃっている質問者さんに、
一から伝えることはできそうにありません。少なくとも私は。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

閉鎖

“C言語何でも質問掲示板” へ戻る