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

सी प्रोग्राम गतिशील लिंक्ड सूची का उपयोग करके कार की जानकारी संग्रहीत करने के लिए।

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

नोड के दो भाग होते हैं जो इस प्रकार हैं -

  • डेटा
  • लिंक

लिंक की गई सूचियों के प्रकार

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

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

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

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

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

  1. सी ++ प्रोग्राम लिंक्ड लिस्ट का उपयोग करके ग्राफ का प्रतिनिधित्व करने के लिए

    एक ग्राफ की घटना मैट्रिक्स स्मृति में संग्रहीत करने के लिए एक ग्राफ का एक और प्रतिनिधित्व है। यह मैट्रिक्स एक वर्ग मैट्रिक्स नहीं है। आपतन मैट्रिक्स का क्रम V x E है। जहाँ V शीर्षों की संख्या है और E ग्राफ़ में किनारों की संख्या है। इस मैट्रिक्स की प्रत्येक पंक्ति में हम कोने रख रहे हैं, और प्रत्ये