लिंक्ड सूचियाँ गतिशील मेमोरी आवंटन का उपयोग करती हैं अर्थात वे उसी के अनुसार बढ़ती और सिकुड़ती हैं। यह नोड्स का संग्रह है।
नोड के दो भाग होते हैं जो इस प्रकार हैं -
- डेटा
- लिंक
लिंक की गई सूचियों के प्रकार
C प्रोग्रामिंग लैंग्वेज में लिंक्ड लिस्ट के प्रकार इस प्रकार हैं -
- एकल/एकल लिंक की गई सूचियां
- डबल / डबल लिंक्ड सूचियां
- सर्कुलर सिंगल लिंक्ड लिस्ट
- सर्कुलर डबल लिंक्ड लिस्ट
एल्गोरिदम
डायनामिक लिंक्ड सूची का उपयोग करके कार की जानकारी संग्रहीत करने के लिए नीचे दिए गए एल्गोरिदम को देखें।
चरण 1 - संरचना चर घोषित करें।
चरण 2 - प्रदर्शित करने के लिए फ़ंक्शन परिभाषा घोषित करें।
चरण 3 - गतिशील स्मृति आवंटन को चर के लिए आवंटित करें।
चरण 4 - कार की जानकारी दर्ज करने के लिए लूप करते समय करें का उपयोग करें।
चरण 5 - कॉल डिस्प्ले फ़ंक्शन गोटो चरण 2।
उदाहरण
डायनामिक लिंक्ड सूची का उपयोग करके कार की जानकारी संग्रहीत करने के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> #include<stdlib.h> #include<string.h> struct node{ char model[10],color[10]; int year; struct node *next; }; struct node *temp,*head; void display(struct node *head){ temp=head; while(temp!=NULL){ if(temp->year>2010 && (strcmp("yellow",temp->color)==0)) printf(" %s \t\t %s \t\t %d",temp->model,temp->color,temp->year); temp=temp->next; printf("\n"); } } int main(){ int n; char option,enter; head=(struct node *)malloc(sizeof(struct node)); temp=head; do{ printf("\nenter car model: "); scanf("%s",temp->model); printf("enter car color: "); scanf("%s",temp->color); printf("enter car year: "); scanf("%d",&temp->year); printf("\nDo you want continue Y(es) | N(o) : "); scanf("%c",&enter); scanf("%c",&option); if (option!='N'){ temp->next=(struct node *)malloc(sizeof(struct node)); temp=temp->next; } else { temp->next=NULL; } }while(option!='N'); display(head); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -
enter car model: I20 enter car color: white enter car year: 2016 Do you want continue Y(es) | N(o) : Y enter car model: verna enter car color: red enter car year: 2018 Do you want continue Y(es) | N(o) : Y enter car model: creta enter car color: Maroon enter car year: 2010 Do you want continue Y(es) | N(o) : N