Maison  >  Article  >  développement back-end  >  Programme C pour trouver la longueur de la liste chaînée

Programme C pour trouver la longueur de la liste chaînée

PHPz
PHPzavant
2023-09-07 19:33:011044parcourir

Les listes chaînées utilisent l'allocation dynamique de mémoire, c'est-à-dire qu'elles grandissent et diminuent en conséquence. Ils sont définis comme des collections de nœuds. Ici, un nœud comporte deux parties, des données et des liens. Les données, les liens et les listes chaînées sont représentés comme suit -

Programme C pour trouver la longueur de la liste chaînée

Types de listes chaînées

Il existe quatre types de listes chaînées, comme suit : -

  • Liste chaînée simple/Liste chaînée simple
  • Chaînée double/bidirectionnelle list
  • Cycle single chaîné list
  • Cycle Double chaîné list

La logique pour nous d'utiliser la méthode récursive pour trouver la longueur de la liste chaînée est-

int length(node *temp){
   if(temp==NULL)
      return l;
   else{
      l=l+1;
      length(temp->next);
   }
}

Programme

Ce qui suit est un programme C pour trouver le longueur de la liste chaînée-

Démonstration en direct

#include 
#include 
typedef struct linklist{
   int data;
   struct linklist *next;
}node;
int l=0;
int main(){
   node *head=NULL,*temp,*temp1;
   int len,choice,count=0,key;
   do{
      temp=(node *)malloc(sizeof(node));
      if(temp!=NULL){
         printf("

enter the elements in a list : "); scanf("%d",&temp->data); temp->next=NULL; if(head==NULL){ head=temp; }else{ temp1=head; while(temp1->next!=NULL){ temp1=temp1->next; } temp1->next=temp; } }else{ printf("

Memory is full"); } printf("

press 1 to enter data into list: "); scanf("%d",&choice); }while(choice==1); len=length(head); printf("The list has %d no of nodes",l); return 0; } //recursive function to find length int length(node *temp){ if(temp==NULL) return l; else{ l=l+1; length(temp->next); } }

Sortie

Lorsque le programme ci-dessus est exécuté, les éléments suivants seront générés Résultat-

Run 1:
enter the elements in a list: 3
press 1 to enter data into list: 1
enter the elements in a list: 56
press 1 to enter data into list: 1
enter the elements in a list: 56
press 1 to enter data into list: 0
The list has 3 no of nodes
Run 2:
enter the elements in a list: 12
press 1 to enter data into list: 1
enter the elements in a list: 45
press 1 to enter data into list: 0
The list has 2 no of nodes

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