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

सी भाषा का उपयोग कर एक लिंक्ड सूची में सिर और पूंछ तत्व तर्क को हटाना।

लिंक्ड सूचियाँ गतिशील मेमोरी आवंटन का उपयोग करती हैं अर्थात वे उसी के अनुसार बढ़ती और सिकुड़ती हैं। यह नोड्स का संग्रह है।

Node के दो भाग होते हैं, जो डेटा और लिंक होते हैं। इन्हें नीचे समझाया गया है।

सी भाषा का उपयोग कर एक लिंक्ड सूची में सिर और पूंछ तत्व तर्क को हटाना।

लिंक्ड सूचियों पर संचालन

लिंक्ड लिस्ट पर तीन तरह के ऑपरेशन होते हैं जो इस प्रकार हैं -

  • प्रविष्टि
  • हटाना
  • ट्रैवर्सिंग

हटाना

  • नोड की पहचान करें।
  • लिंक्स को इस तरह से समायोजित करें कि नोड्स का डीलोकेशन सूची को असंबद्ध घटकों के रूप में नहीं बनाता है।
  • हटाने के लिए वापसी/प्रदर्शन तत्व।
  • स्मृति को अलग करें।

प्रमुख तत्व हटाएं

सी प्रोग्रामिंग भाषा में एक प्रमुख तत्व को हटाने के लिए नीचे दिए गए चरणों का पालन करें।

1. void del_head()
2. {
3. int x;
   Node *temp;
4. if(Head==NULL)
5. {
6. printf("List is empty");
7. return;
8. }
9. x=Head->ele;
10. temp=Head;
11. if(Head==Tail)
12. Head=Tail=NULL:
13. Else
14. Head=Head->next;
15. printf("Deleted element %d",x);
16. free(temp);
17. }

यहाँ,

चरण 4 - सूची खाली है या नहीं के लिए जाँच करता है।

चरण 9 - हटाने के लिए एक तत्व पढ़ता है।

चरण 10 - सिर को अस्थायी सूचक द्वारा संदर्भित किया जाता है।

चरण 11 - अंतिम विलोपन के लिए जाँच करता है।

चरण 14 - हेड पॉइंटर को सूची में अगले तत्व पर ले जाएँ।

चरण 15 - हटाने के लिए तत्व प्रदर्शित करता है।

चरण 16 - मेमोरी को डीलोकेट करें।

पूंछ तत्व हटाएं

C प्रोग्रामिंग लैंग्वेज में टेल एलिमेंट को डिलीट करने के लिए नीचे दिए गए स्टेप्स को फॉलो करें।

1. void del_tail()
2. {
3. int x;
4. Node *temp;
5. if(Head==NULL)
6. {
7. printf("List is empty");
8. return;
9. }
10. temp=Head;
11. while(temp->next !=Tail)
12. temp=temp->next;
13. x=Tail->ele;
14. Tail=temp;
15. Temp=temp->next
16. Tail->next=NULL;
17. printf("Deleted element %d",x);
18. free(temp);
19. }

यहाँ,

चरण 4 - खाली सूची की जाँच करें।

चरण 10, 11, 12 - अस्थायी सूचक को सूची के अंतिम लेकिन एक नोड पर ले जाएँ।

चरण 13 - टेल एलिमेंट को डिलीट करने के लिए पढ़ता है।

चरण 14 - टेल पॉइंटर को अंतिम लेकिन एक नोड पर ले जाता है।

चरण 15 - अस्थायी सूचक को सूची के अंतिम नोड पर ले जाता है।

चरण 16 - टेल नोड से अस्थायी नोड के संदर्भ को हटाता है।

चरण 17 - हटाए जाने वाले तत्वों को प्रदर्शित करता है।

चरण 18 - मेमोरी को डीलोकेट करें।


  1. सी भाषा में लिंक्ड सूची (पुनरावृत्त विधि) के वैकल्पिक नोड्स को प्रिंट करें

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

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

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

  1. सी प्रोग्राम में अतिरिक्त स्थान और संशोधन के बिना एक लिंक्ड सूची का उल्टा प्रिंट करें।

    कार्य अतिरिक्त स्थान का उपयोग किए बिना लिंक की गई सूची के अंत से शुरू होने वाले नोड्स को प्रिंट करना है, जिसका अर्थ है कि कोई अतिरिक्त चर नहीं होना चाहिए, इसके बजाय पहले नोड को इंगित करने वाले हेड पॉइंटर को स्थानांतरित कर दिया जाएगा। उदाहरण Input: 10 21 33 42 89 Output: 89 42 33 21 10 लिंक की गई