![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?e8efa67)
C言語のノードの連結について質問です。
途中までできていて、残りがわからないです。
作ろうとしているプログラムは、ノードpの後にノードq以降のリストを連結する関数を作ろうとしています。
#include<stdio.h>
struct node{
int data;
struct node *next;
};
struct node *head,*tail;
void concat(struct node *p, struct node *q)
{
if(p -> head == NULL) もしpがなにもなかったら
これ以降が思いつきません。
elseではどうしたらいいんでしょうか。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> if(p -> head == NULL) もしpがなにもなかったら
↑struct node に head というメンバーはありませんよ。
> ノードpの後にノードq以降のリストを連結する関数
↑不明確です。
変数 head と tail がそれぞれ構造体 node の先頭と末尾を示しいるとして、ノードp は head が示すリストへ連結されている一つのノードであり、ノードq はまだ head が示すリストへ連結されていないノードリストであると仮定した場合、
struct node * n;
for (n = q; n != NULL; n = n->next)
{
if (n->next == NULL)
break;
}
if (p->next == NULL) /* ノードp は末尾である p == head もしくは p == tail でも確認可 */
tail = n; /* tail へノードリストq の末尾ノードを代入 */
else /* 中間ノード */
n->next = p->next; /* ノードリストq の末尾ノードの next へノードp の次のノードを代入 */
p->next = q; /* ノードp の next へ q を代入 */
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# leetcode21 1 2022/04/21 11:53
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- C言語・C++・C# C言語 leetcode21 Merge Two Sorted Lists 2 2022/04/24 19:35
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#でTreeViewのCheckBoxのサイ...
-
CPUの考え方を教えてください ...
-
同じタグ名の項目取得
-
C#でtreeviewの指定ノードを選...
-
スケールフリーネットワークをC...
-
【C#】TreeViewがクリックされ...
-
TreeViewコントロールについて
-
SNMP リンクダウンとノードダ...
-
あるノードリストに、特定の名...
-
TreeView の初期表示について
-
C言語:文字列の並び替え
-
多分木のプログラミングについて
-
2分探索木の高さを求めるプロ...
-
C言語 TreeViewのノードをプロ...
-
ルート要素ノードが2個ある場合?
-
ノード数とは?
-
SNMP ステータスポーリングと...
-
C#のツリービューでツリーノー...
-
XML文書の指定した属性値を持つ...
-
XMLで要素が記述された順番に意...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
昔Winnyってありましたけど、あ...
-
C#でTreeViewのCheckBoxのサイ...
-
同じタグ名の項目取得
-
あるノードリストに、特定の名...
-
ツリービューのノードをダブル...
-
2分探索木の高さを求めるプロ...
-
XML文書の指定した属性値を持つ...
-
コンテキストメニュークリック...
-
vbsのDOMDocumentで要素のText...
-
C#でtreeviewの指定ノードを選...
-
ノード数とは?
-
複数のマックPCによる数値計算...
-
C# TreeView 効率良いノード追...
-
TreeViewの再表示のちらつきを...
-
C言語の単方向リストについて
-
C言語のプログラムを教えてくだ...
-
TreeView の初期表示について
おすすめ情報