logo

Programme C pour trier un tableau par ordre croissant

Trier un tableau par ordre croissant signifie organiser les éléments du plus petit élément au plus grand élément. Dans cet article, nous allons apprendre à trier un tableau par ordre croissant dans le langage de programmation C.

trier en C

Il existe de nombreuses façons de trier le tableau par ordre croissant. Pour plus de simplicité, nous utiliserons le tri par sélection dans cet article.



Algorithme

Le tri par sélection est un algorithme de tri simple qui recherche à plusieurs reprises l'élément minimum de la partie non triée du tableau et le place au début de la partie triée du tableau jusqu'à ce que le tableau complet soit trié.

  1. Le tableau peut être trié par ordre croissant en recherchant à plusieurs reprises l'élément minimum (en tenant compte de l'ordre croissant) de la partie non triée et en le plaçant au début.
  2. L'algorithme maintient deux sous-tableaux dans un tableau donné.
    • Le sous-tableau qui est déjà trié.
    • Sous-tableau restant qui n'est pas trié.
  3. À chaque itération du tri par sélection, l'élément minimum (en tenant compte de l'ordre croissant) du sous-tableau non trié est sélectionné et déplacé vers le sous-tableau trié.

Reportez-vous à l'article complet sur Tri de sélection pour plus de détails!

Programme de tri de tableaux en C

C



algorithme mince






// C program to sort the array in an> // ascending order using selection sort> #include> > void> swap(>int>* xp,>int>* yp)> {> >int> temp = *xp;> >*xp = *yp;> >*yp = temp;> }> > // Function to perform Selection Sort> void> selectionSort(>int> arr[],>int> n)> {> >int> i, j, min_idx;> > >// One by one move boundary of> >// unsorted subarray> >for> (i = 0; i // Find the minimum element in // unsorted array min_idx = i; for (j = i + 1; j if (arr[j] min_idx = j; // Swap the found minimum element // with the first element swap(&arr[min_idx], &arr[i]); } } // Function to print an array void printArray(int arr[], int size) { int i; for (i = 0; i printf('%d ', arr[i]); printf(' '); } // Driver code int main() { int arr[] = { 0, 23, 14, 12, 9 }; int n = sizeof(arr) / sizeof(arr[0]); printf('Original array: '); printArray(arr, n); selectionSort(arr, n); printf(' Sorted array in Ascending order: '); printArray(arr, n); return 0; }>

Liste des utilisateurs MySQL
>

>

Sortir

Original array: 0 23 14 12 9 Sorted array in Ascending order: 0 9 12 14 23>

Analyse de complexité

    Complexité temporelle : O(N2) Espace auxiliaire : O(1)

Articles Liés