Maison  >  Article  >  développement back-end  >  Expliquer le concept de tri en langage C

Expliquer le concept de tri en langage C

PHPz
PHPzavant
2023-08-26 18:33:08797parcourir

Expliquer le concept de tri en langage C

Question

Pourquoi le tri en C facilite-t-il la recherche ? Comment juger de l’efficacité du tri en langage C ?

Solution

Le tri est le processus de disposition des éléments par ordre croissant (ou décroissant).

  • Le tri des mots est apparu lorsque les gens ont réalisé l'importance d'une recherche rapide.

  • Il y a beaucoup de choses dans la vie qui doivent être recherchées, comme des enregistrements spécifiques dans la base de données, les numéros d'étudiant dans la liste, les numéros de téléphone dans l'annuaire téléphonique, les numéros de page spécifiques dans le livre, etc.

  • Si les données sont enregistrées sous une forme non ordonnée et non triée, il devient difficile de rechercher quelque chose de spécifique. Mais heureusement, le concept de tri est apparu, permettant à chacun de mettre plus facilement les données en ordre.

  • Le tri organise vos données dans une séquence, ce qui facilite la recherche.

Efficacité du tri

  • Si nous voulions mettre un jeu de cartes en ordre, nous vérifierions chaque carte une par une et ajusterions le jeu en conséquence.

  • Mettre le deck en ordre prend beaucoup de temps, mais nous le faisons toujours de la même manière. Mais ce n’est pas ainsi que fonctionnent les ordinateurs.

  • Depuis le début de l'ère de la programmation, les scientifiques résolvent des problèmes de tri grâce à différents algorithmes.

Les critères pour juger quel algorithme est meilleur qu'un autre sont les suivants :

  • Le temps nécessaire pour trier les données données.
  • Espace mémoire requis.

Exemple

Ce qui suit est un programme C pour trier les données :

#include<stdio.h>
int main(){
   int a[50], i,j,n,t,sm;
   printf("enter the No: of elements in the list:</p><p>");
   scanf("%d", &n);
   printf("enter the elements:</p><p>");
   for(i=0; i<n; i++){
      scanf ("%d", &a[i]);
   }
   for (i=0; i<n-1; i++){
      sm=i;
      for (j=i+1; j<n; j++){
         if (a[j] < a[sm]){
            sm=j;
         }
      }
      t=a[i];
      a[i]=a[sm];
      a[sm]=t;
   }
   printf ("after selection sorting the elements are:</p><p>");
   for (i=0; i<n; i++)
      printf("%d\t", a[i]);
   return 0;
}

Output

Lorsque le programme ci-dessus est exécuté, il produit les résultats suivants −

Output

enter the No: of elements in the list:
4
enter the elements:
34
12
56
7
after selection sorting the elements are:
7 12 34 56

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