C単一リンクリストの各ノード値を逆にするプログラム
この記事では、リンクリストが提供されています。私たちのタスクは、単一リンクリストの各ノード値を逆にするCプログラムを作成することです。
リンクリストの各ノードを取得し、値を逆にします。
リンクリスト 別のリンクにリンクされているアイテムを含む一連のリンクです。
問題を理解するために例を見てみましょう
入力
34 12 89 56 72
出力
43 21 98 65 27
この問題を解決するために、単一リンクリストをトラバースして各ノードを取得します。次に、現在のノードの値を逆にします。
単一リンクリストの各ノード値を逆にするプログラム
//単一リンクリストの各ノード値を逆にするようにプログラムします。
例
#include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node* next; }; struct Node* insertNode(int key) { struct Node* temp = new Node; temp->data = key; temp->next = NULL; return temp; } int reverseValue(int number) { int revElement = 0, rem; while (number != 0) { rem = number % 10; revElement = revElement * 10 + rem; number = number / 10; } return revElement; } void reverseLinkedListElements(struct Node* node) { if (node == NULL) return; while (node != NULL) { node->data = reverseValue(node->data); node = node->next; } } void printLinkedList(struct Node* node) { while (node != NULL) { printf("%d ", node->data); node = node->next; } } int main() { struct Node* head = NULL; head = insertNode(34); head->next = insertNode(12); head->next->next = insertNode(89); head->next->next->next = insertNode(56); head->next->next->next->next = insertNode(72); printf("Orignal Linked List :\t"); printLinkedList(head); reverseLinkedListElements(head); printf("\nAltered Linked List:\t"); printLinkedList(head); return 0; }
出力
Orignal Linked List : 34 12 89 56 72 Altered Linked List: 43 21 98 65 27
-
単一リンクリストのノードの積
n個のノードがある場合、タスクは、単一リンクリストのすべてのノードの積を出力することです。プログラムは、最初のノードからNULLが見つからなくなるまで、単一リンクリストのすべてのノードをトラバースする必要があります。 例 Input -: 1 2 3 4 5 Output -: 120 上記の例では、最初のノードから開始して、すべてのノードがトラバースされます。つまり、1、2、3、4、5、6であり、それらの積は1 * 2 * 3 * 4 * 5 * 6 =120 以下で使用するアプローチは次のとおりです 一時的なポインタ、たとえばノードタイプの温度を取得します この一時ポインタを、
-
実際にC言語で反転せずに、リンクリストの反転を印刷します
タスクは、再帰関数を使用して、指定されたリンクリストの逆を印刷することです。プログラムは逆に印刷する必要がありますが、リストを逆にしないでください。つまり、ノードの順序は同じままです。 ここで、プログラムは、リストの最後のノードに格納されているNULLが調べられ、ヘッドノードのデータが出力されるまで、最初のノードのアドレスを含むヘッドポインタを次のノードに移動します。 例 Input: 29 34 43 56 Output: 56 43 34 29 まず、ノードがリストに挿入され、挿入されたノードを指すポインターが開始されます。最終リストが作成された後、一時ポインタが最初のノードポイ