-3
A
答えて
-1
チェックしてください!
#include<bits/stdc++.h>
using namespace std;
struct Node
{
int data;
struct Node *next;
};
Node* newNode(int key)
{
Node *temp = new Node;
temp->data = key;
temp->next = NULL;
return temp;
}
void reverselist(Node **head)
{
Node *prev = NULL, *curr = *head, *next;
while (curr)
{
next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
*head = prev;
}
void printlist(Node *head)
{
while (head != NULL)
{
cout << head->data << " ";
if(head->next) cout << "-> ";
head = head->next;
}
cout << endl;
}
void arrange(Node **head)
{
Node *slow = *head, *fast = slow->next;
while (fast && fast->next)
{
slow = slow->next;
fast = fast->next->next;
}
Node *head1 = *head;
Node *head2 = slow->next;
slow->next = NULL;
reverselist(&head2);
*head = newNode(0);
Node *curr = *head;
while (head1 || head2)
{
if (head1)
{
curr->next = head1;
curr = curr->next;
head1 = head1->next;
}
if (head2)
{
curr->next = head2;
curr = curr->next;
head2 = head2->next;
}
}
*head = (*head)->next;
}
int main()
{
Node *head = newNode(1);
head->next = newNode(2);
head->next->next = newNode(3);
head->next->next->next = newNode(4);
head->next->next->next->next = newNode(5);
printlist(head);
arrange(&head);
printlist(head);
return 0;
}
関連する問題
- 1. リンクされたリスト印刷最初の0の値の印刷
- 2. 単独リンクされたリスト印刷メソッドは最初のオブジェクト(Java)を印刷します
- 3. OpenCv、Python - 最初に見つかった口を印刷する
- 4. 印刷コンマ最後の1
- 5. リストにリンクされた最後のノードを最初にリストする
- 6. 短い文字列から文字が印刷された後、2つの文字列から一度に1文字ずつ印刷を停止します。
- 7. リストの長さを最初の複製に印刷したいですか?
- 8. リンクされたリストを削除した後もまだ印刷中です
- 9. Python:リストから1つのものを印刷する方法
- 10. リンクされたリストは印刷されませんか?
- 11. 最初のアイテムで始まらないリスト全体を印刷する方法
- 12. 最後の番号(1)が印刷されるのはなぜですか?
- 13. 最後に印刷された文字を削除するpython
- 14. 各行の値をPHP codeigniterで1つ1つずつ印刷する方法
- 15. 最後に印刷されたページの最後の要素が異なる
- 16. 二重にリンクされたリストのセグメンテーションフォールト印刷は後方
- 17. 最後の行から1行ずつファイルを読む
- 18. 一度に1つのエントリをリンクされたリストノードに印刷する(Java)
- 19. pythonで印刷されたリストから最後の文字を削除/削除する方法
- 20. リストの最初の項目、間違った出力を印刷
- 21. 最初と最後の値はどのように印刷しますか?
- 22. Python Sympy Latex Fractionは最初にファクタリングせずに印刷されません
- 23. 美しいスープで最初と最後の1000行を印刷するには
- 24. C++でendlの後に最初から印刷する方法は?
- 25. リストの最初の項目を印刷する
- 26. 最初のリストの最後の2つの要素= 2番目のリストの最初の2つの要素 - プロローグ
- 27. リンクされたリスト項目は印刷されません
- 28. 1つのリンクされたリストから別のリンクされたリストにアイテムをコピーする
- 29. 最後にインスタンス化されたものから最初にインスタンス化されたものから、同じタグを持つインスタンス化されたプレハブを1つずつ破棄しますか?
- 30. 最初の長さが与えられた2つのリストを分割する
コードを入力する必要はありません。最初に試みたコードを表示してから問題を尋ねます。私たちはあなたの家事を完了するためにここにいません。 –