
連結リストに要素を挿入する関数 insert( ) を関数を定義して,以下の条件の下で整数型の要素を連結リストに挿入するプログラムを作成しなければならないのですが、関数insert部分が見当がつきません.
回答よろしくおねがいします。
条件
1. 関数名を insert( ) とする.
2. 連結リストの先頭ノードを指すポインタ(*head)と,リストに挿入する要素(data)を引数とする.
3. 連結リストの先頭ノードを指すポインタ(*head)からたどって,要素がリスト内で降順(大きいものから小さいものへの順)となる位置に要素を挿入する.
4. 引数で示された要素が既にリストに存在する場合には,要素の挿入は行なわない.
#include <stdio.h>
#include <stdlib.h>
typedef struct __cell {
int data;
struct __cell *next;
} CELL;
CELL *insert(CELL *head, int data);
void showList(CELL *head);
int main(void)
{
CELL *head;
head = NULL;
head = insert(head, 5);
showList(head);
head = insert(head, 2);
showList(head);
head = insert(head, 6);
showList(head);
head = insert(head, 4);
showList(head);
head = insert(head, 6);
showList(head);
head = insert(head, 4);
showList(head);
head = insert(head, 1);
showList(head);
return 0;
}
CELL *insert(CELL *head, int data)
{
/*ここで関数 insert( ) を定義します*/
}
void showList(CELL *head)
{
CELL *p;
for(p=head ; p!=NULL ; p=(*p).next)
{
printf("%d -> ", (*p).data);
}
printf("fin\n");
}
No.2
- 回答日時:
リスト構造の先頭にダミーノードを設けると、
insert() のロジックが少しだけ簡単になります。
今回はダミーノードを設けるのは有りですか?
それから、(*p).data と書いてもいいのですが、
ここはアロー演算子を使って p->data とスマートに書きましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- PHP php エラー 2 2022/10/23 16:43
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
昔Winnyってありましたけど、あ...
-
VB6.0ツリービューについて
-
ノード数とは?
-
JSPでXMLのデータ表示が...
-
線形リストに挿入するプログラム
-
replaceChildメソッドについて
-
プログラミングC言語について次...
-
C#初心者です。HtmlAgilityPack...
-
ツリービューでクリック時にア...
-
ノードとは
-
C#でTreeViewのCheckBoxのサイ...
-
東芝のDynabookなのですがアン...
-
同じ値がある時にエラーを出したい
-
乱雑なCSSはどうにかしたい!!
-
VBA 『Range』 『Cells』 の関係
-
エクセルVBA ウェブ上のボタ...
-
特殊記号が勝手にエスケープさ...
-
XMLで要素が記述された順番に意...
-
XMLの要素の内容の中に要素
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
あるノードリストに、特定の名...
-
同じタグ名の項目取得
-
C#でTreeViewのCheckBoxのサイ...
-
TreeView の初期表示について
-
昔Winnyってありましたけど、あ...
-
ノードとは
-
複数のマックPCによる数値計算...
-
C# TreeView 効率良いノード追...
-
TreeViewで複数ノードの選択は...
-
vbsのDOMDocumentで要素のText...
-
ツリービューのノードをダブル...
-
TreeViewに重複する値をセット
-
ToolStripMenuItemの選択(VB)
-
各ノードの行数取得
-
VB2005 TreeViewの任意ノード選択
-
TreeViewのノードの編集結果が...
-
TreeVIewのノード名を編集する...
おすすめ情報