logo

C program na triedenie poľa vo vzostupnom poradí

Triedenie poľa vo vzostupnom poradí znamená usporiadanie prvkov od najmenšieho prvku po najväčší prvok. V tomto článku sa naučíme triediť pole vo vzostupnom poradí v programovacom jazyku C.

triedenie v C

Existuje mnoho spôsobov, ako môže byť pole zoradené vzostupne. Pre jednoduchosť budeme v tomto článku používať triedenie výberu.

Algoritmus

Selekčné triedenie je jednoduchý triediaci algoritmus, ktorý opakovane nájde minimálny prvok z nezoradenej časti poľa a umiestni ho na začiatok zoradenej časti poľa, kým nie je zoradené celé pole.



  1. Pole je možné triediť vo vzostupnom poradí opakovaným nájdením minimálneho prvku (vzhľadom na vzostupné poradie) z nezoradenej časti a jeho umiestnením na začiatok.
  2. Algoritmus udržiava dve podpole v danom poli.
    • Podpole, ktoré je už zoradené.
    • Zostávajúce podpole, ktoré nie je zoradené.
  3. V každej iterácii triedenia výberu sa vyberie minimálny prvok (vzhľadom na vzostupné poradie) z nezoradeného podpola a presunie sa do zoradeného podpola.

Pozrite si celý článok na Výber Zoradiť pre viac detailov!

súkromná vs verejná java

Program na triedenie polí v jazyku C

C




lambda funkcia java

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

>

>

Výkon

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

Analýza zložitosti

    Časová zložitosť: O(N2) Pomocný priestor: O(1)

Súvisiace články