logo

C program pro třídění pole ve vzestupném pořadí

Seřadit pole ve vzestupném pořadí znamená seřadit prvky od nejmenšího prvku po největší prvek. V tomto článku se naučíme třídit pole ve vzestupném pořadí v programovacím jazyce C.

řazení v C

Existuje mnoho způsobů, jak lze pole seřadit vzestupně. Pro jednoduchost budeme v tomto článku používat třídění výběru.



Algoritmus

Výběrové řazení je jednoduchý třídicí algoritmus, který opakovaně najde minimální prvek z neseřazené části pole a umístí jej na začátek seřazené části pole, dokud není setříděno celé pole.

  1. Pole lze seřadit vzestupně opakovaným nalezením minimálního prvku (s ohledem na vzestupné pořadí) z neseřazené části a jeho umístěním na začátek.
  2. Algoritmus udržuje dvě podpole v daném poli.
    • Podpole, která je již seřazena.
    • Zbývající podpole, která není seřazena.
  3. V každé iteraci řazení výběru se vybere minimální prvek (s ohledem na vzestupné pořadí) z neseřazeného podpole a přesune se do seřazeného podpole.

Podívejte se na celý článek na Výběr Seřadit Více podrobností!

Program pro řazení polí v C

C








// 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; }>

rozdíl v pythonu
>

>

Výstup

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

Analýza složitosti

    Časová složitost: O(N2) Pomocný prostor: O(1)

Související články