Maison  >  Article  >  développement back-end  >  Programme C pour stocker les informations sur la voiture à l'aide d'une liste chaînée dynamique

Programme C pour stocker les informations sur la voiture à l'aide d'une liste chaînée dynamique

WBOY
WBOYavant
2023-09-17 18:33:051199parcourir

Programme C pour stocker les informations sur la voiture à laide dune liste chaînée dynamique

Les listes chaînées utilisent l'allocation dynamique de mémoire, c'est-à-dire qu'elles grandissent et diminuent en conséquence. C'est une collection de nœuds.

Le nœud comporte deux parties, comme indiqué ci-dessous : 

  • données
  • lien

type de liste chaînée

Les types de liste chaînée en langage C sont les suivants :

  • liste chaînée simple/liste chaînée simple
  • Liste chaînée double
  • Liste chaînée simple en boucle
  • Liste chaînée double cyclique

Algorithme

Référez-vous à l'algorithme ci-dessous et utilisez des listes chaînées dynamiques pour stocker les informations sur la voiture.

Étape 1 - Déclarez les variables de structure.

Étape 2 - Déclarez la définition de fonction à afficher.

Étape 3 - Allouez de la mémoire dynamique pour la variable.

Étape 4 - Utilisez une boucle do while pour saisir les informations sur la voiture.

Étape 5 - Appelez la fonction d'affichage et passez à l'étape 2.

Exemple

Ce qui suit est un programme C qui utilise une liste chaînée dynamique pour stocker des informations sur la voiture -

Live Demo

#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("</p><p>");
   }
}
int main(){
   int n;
   char option,enter;
   head=(struct node *)malloc(sizeof(struct node));
   temp=head;
   do{
      printf("</p><p>enter car model: ");
      scanf("%s",temp->model);
      printf("enter car color: ");
      scanf("%s",temp->color);
      printf("enter car year: ");
      scanf("%d",&temp->year);
      printf("</p><p>Do you want continue Y(es) | N(o) : ");
      scanf("%c",&enter);
      scanf("%c",&option);
      if (option!=&#39;N&#39;){
         temp->next=(struct node *)malloc(sizeof(struct node));
         temp=temp->next;
      } else {
         temp->next=NULL;
      }
   }while(option!=&#39;N&#39;);
   display(head);
   return 0;
}

Output

Lorsque le programme ci-dessus est exécuté, il produit la sortie suivante −

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer