logo

C-programma om een ​​array in oplopende volgorde te sorteren

Een array in oplopende volgorde sorteren betekent dat de elementen van het kleinste element naar het grootste element worden gerangschikt. In dit artikel leren we een array in oplopende volgorde sorteren in de programmeertaal C.

sorteren in C

Er zijn veel manieren waarop de array in oplopende volgorde kan worden gesorteerd. Voor de eenvoud zullen we in dit artikel Selectiesortering gebruiken.

Algoritme

Selectiesortering is een eenvoudig sorteeralgoritme dat herhaaldelijk het minimumelement uit het ongesorteerde deel van de array vindt en dit aan het begin van het gesorteerde deel van de array plaatst totdat de volledige array is gesorteerd.



  1. De array kan in oplopende volgorde worden gesorteerd door herhaaldelijk het minimumelement (rekening houdend met oplopende volgorde) uit het ongesorteerde deel te vinden en dit aan het begin te plaatsen.
  2. Het algoritme onderhoudt twee subarrays in een gegeven array.
    • De subarray die al is gesorteerd.
    • Resterende subarray die ongesorteerd is.
  3. Bij elke iteratie van de selectiesortering wordt het minimumelement (rekening houdend met de oplopende volgorde) uit de ongesorteerde subarray gekozen en naar de gesorteerde subarray verplaatst.

Zie het volledige artikel op Selectie Sorteren voor meer details!

Array-sorteerprogramma in 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; }>

java pgm
>

>

Uitvoer

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

Complexiteitsanalyse

    Tijdcomplexiteit: O(N2) Hulpruimte: O(1)

gerelateerde artikelen