Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में लिंक की गई सूची में नोड्स के छोटे तत्वों का योग


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

यहां, लिंक की गई सूची में हमारे पास दो तत्व हैं X और Y। प्रोग्राम न्यूनतम x और y खोजेगा। सभी नोड्स से न्यूनतम तत्व जोड़े जाते हैं जो आवश्यक परिणाम है।

इनपुट -

(5,2)->(7,9)->(6,3)->(36,24)->(19,26)->null

आउटपुट -

55

स्पष्टीकरण -

आइए प्रत्येक नोड से न्यूनतम X और Y लें -

node1 - mini = 5
node2 - mini = 7
node3 - mini = 3
node4 - mini = 24
node5 - mini = 19
Sum = 55

इस समस्या को हल करने के लिए, हम प्रत्येक नोड पर जाकर एक स्ट्रेट फॉरवर्ड अप्रोच का उपयोग करेंगे और न्यूनतम X और Y का पता लगाएंगे। फिर इसे सम वेरिएबल में जोड़ें और फिर नोड के समाप्त होने पर योग लौटाएं।

एल्गोरिदम

आरंभ करें - योग =0

चरण1 - सूची को पार करें और निम्न कार्य करें:

चरण 1.1 − न्यूनतम शीर्ष → X और शीर्ष → Y ज्ञात करें।

चरण 1.2 - योग में न्यूनतम जोड़ें

चरण 2 - वापसी राशि,

उदाहरण

हमारे एल्गोरिथम की कार्यप्रणाली को स्पष्ट करने के लिए कार्यक्रम -

#include <iostream>
using namespace std;
struct Node {
   int X;
   int Y;
   Node* next;
};
void addNode(Node** head, int x, int y){
   Node* ptr = *head;
   Node* temp = new Node();
   temp->X = x;
   temp->Y = y;
   temp->next = NULL;
   if (*head == NULL)
      *head = temp;
   else {
      while (ptr->next != NULL)
         ptr = ptr->next;
         ptr->next = temp;
   }
}
int findMinSum(Node* head){
   int sum = 0;
   while (head != NULL) {
      sum += min(head->X , head->Y);
      head = head->next;
   }
   return sum;
}
int main(){
   Node* head = NULL;
   addNode(&head, 5, 2);
   addNode(&head, 7, 9);
   addNode(&head, 6, 3);
   addNode(&head, 36, 24);
   addNode(&head, 19, 26);
   cout<<"The sum of smaller elements of nodes in Linked List is "<<findMinSum(head)<<endl;
   return 0;
}

आउटपुट

The sum of smaller elements of nodes in Linked List is 55

  1. सी++ में लिंक्ड सूची के वैकल्पिक नोड्स का योग

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

  1. C++ में सर्कुलर लिंक्ड लिस्ट में नोड्स गिनें

    हमें नोड्स के साथ एक सर्कुलर लिंक्ड लिस्ट दी गई है और कार्य एक सर्कुलर लिंक्ड लिस्ट में मौजूद नोड्स की गिनती की गणना करना है। सर्कुलर लिंक्ड लिस्ट लिंक्ड लिस्ट का एक रूपांतर है जिसमें पहला तत्व अंतिम तत्व को इंगित करता है और अंतिम तत्व पहले तत्व को इंगित करता है। सिंगल लिंक्ड लिस्ट और डबल लिंक्ड लि

  1. सी ++ में रिकर्सन का उपयोग करके लिंक की गई सूची के वैकल्पिक नोड्स प्रिंट करें

    एक लिंक्ड सूची एक रैखिक डेटा संरचना है जो तत्व को गैर-सन्निहित स्मृति स्थानों में संग्रहीत करती है। प्रत्येक तत्व में लिंक की गई सूची के अगले तत्व के लिए एक सूचक होता है। उदाहरण - इस समस्या में, हमें एक लिंक्ड सूची दी जाती है और हमें इस लिंक्ड सूची के तत्वों को मुद्रित करने की आवश्यकता होती है ल