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

लिंक की गई सूची के रूप में प्रदर्शित संख्या में 1 जोड़ें?

यहां हम देखेंगे कि लिंक की गई सूची में संग्रहीत संख्या के साथ 1 कैसे जोड़ा जाए। लिंक की गई सूची में, संख्याओं के प्रत्येक अंक को संग्रहीत किया जाता है। यदि संख्या 512 है, तो इसे नीचे की तरह संग्रहीत किया जाएगा -

512 = (5)-->(1)-->(2)-->NULL

हम वृद्धि समारोह में सूची प्रदान कर रहे हैं। इसके साथ 1 जोड़ने के बाद वह दूसरी सूची लौटाएगा। यहां हम C++ STL लिंक्ड लिस्ट का उपयोग कर रहे हैं। आइए बेहतर विचार पर दांव लगाने के लिए एल्गोरिथम देखें।

एल्गोरिदम

incrementList(l1)

Begin
   carry := 1
   res := an empty list
   for each node n from l1, scan from last to first, do
      item := (l1.item + carry) mod 10
      insert item at the beginning of res
      carry := (l1.item + carry) / 10
   done
   if carry is not 0, then
      add carry at the beginning of res
   end if
   return res
End

उदाहरण

#include<iostream>
#include<list>
using namespace std;
list<int> incListNum(list<int> l1){
   list<int>::reverse_iterator it1 = l1.rbegin();
   list<int> result;
   int carry = 1; //this 1 will be added
   while(it1 != l1.rend()){
      result.push_front((*it1 + carry) % 10);
      carry = (*it1 + carry) / 10;
      it1++;
   }
   if(carry != 0){
      result.push_front(carry);
   }
   return result;
}
list<int> numToList(int n){
   list<int> numList;
   while(n != 0){
      numList.push_front(n % 10);
      n /= 10;
   }
   return numList;
}
void displayListNum(list<int> numList){
   for(list<int>::iterator it = numList.begin(); it != numList.end();
   it++){
      cout<<*it;
   }
   cout << endl;
}
int main() {
   int n1 = 9999;
   list<int> n1_list = numToList(n1);
   list<int> res = incListNum(n1_list);
   cout << "The number: "; displayListNum(n1_list);
   cout << "Result: "; displayListNum(res);
}

आउटपुट

The number: 9999
Result: 10000

  1. जावास्क्रिप्ट में सर्कुलर के रूप में डबल लिंक्ड लिस्ट

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

  1. सी . में लिंक्ड सूची का उपयोग कर प्राथमिकता कतार

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

  1. एक्सेल में फोन नंबर सूची में देश या क्षेत्र कोड कैसे जोड़ें

    Microsoft Excel संपादकों के साथ फ़ोन नंबरों की सूची एक बहुत ही सामान्य मामला है। लैंडलाइन और विदेशी फोन नंबरों के मामले में, देश कोड जोड़ना महत्वपूर्ण है या कॉलर कभी भी सही नंबर डायल नहीं कर पाएगा। इस पोस्ट में, हम आपको दिखाएंगे कि एक्सेल में फोन नंबर सूची में देश या क्षेत्र कोड कैसे जोड़ा जाए। Ex