Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी प्रोग्राम सिंगल लिंक्ड लिस्ट में प्रत्येक नोड मान को उलटने के लिए

इस लेख में, हमें एक लिंक्ड सूची दी गई है। हमारा काम सिंगल लिंक्ड लिस्ट में प्रत्येक नोड वैल्यू को रिवर्स करने के लिए एक सी प्रोग्राम बनाना है।

हम लिंक की गई सूची के प्रत्येक नोड को लेंगे और मान को उलट देंगे।

लिंक की गई सूची लिंक का एक क्रम है जिसमें ऐसे आइटम होते हैं जो किसी अन्य लिंक से जुड़े होते हैं।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

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

  1. सी प्रोग्राम में लिंक्ड लिस्ट के अंत से n'th नोड के लिए प्रोग्राम

    n नोड्स के साथ दिए गए कार्य को लिंक की गई सूची के अंत से nth नोड को प्रिंट करना है। प्रोग्राम को किसी सूची में नोड्स के क्रम को नहीं बदलना चाहिए, इसके बजाय इसे केवल लिंक की गई सूची के अंतिम नोड से nth नोड को प्रिंट करना चाहिए। उदाहरण Input -: 10 20 30 40 50 60    N=3 Output -: 40 उपरोक्त

  1. सिंगल लिंक्ड लिस्ट के नोड्स का उत्पाद

    n नोड्स के साथ दिया गया कार्य एकल लिंक की गई सूची के सभी नोड्स के उत्पाद को प्रिंट करना है। प्रोग्राम को एकल लिंक की गई सूची के सभी नोड्स को प्रारंभिक नोड से शुरू करके NULL नहीं मिलने तक पार करना चाहिए। उदाहरण Input -: 1 2 3 4 5 Output -: 120 उपरोक्त उदाहरण में, पहले नोड से शुरू होकर सभी नोड्स को ट

  1. सी भाषा में वास्तव में उलटे बिना एक लिंक्ड सूची के विपरीत प्रिंट करें

    कार्य पुनरावर्ती फ़ंक्शन का उपयोग करके किसी दिए गए लिंक की गई सूची के रिवर्स को प्रिंट करना है। कार्यक्रम को रिवर्स प्रिंट करना चाहिए लेकिन सूची को उल्टा नहीं करना चाहिए, जिसका अर्थ है कि नोड्स का क्रम समान रहता है यहां, प्रोग्राम पहले नोड के पते वाले हेड पॉइंटर को अगले नोड में तब तक ले जाएगा जब तक