logo

배열을 오름차순으로 정렬하는 C 프로그램

배열을 오름차순으로 정렬한다는 것은 가장 작은 요소부터 가장 큰 요소까지 요소를 정렬하는 것을 의미합니다. 이번 글에서는 C 프로그래밍 언어에서 배열을 오름차순으로 정렬하는 방법을 배웁니다.

C에서 정렬

배열을 오름차순으로 정렬하는 방법에는 여러 가지가 있습니다. 단순화를 위해 이 기사에서는 선택 정렬을 사용하겠습니다.



연산

선택 정렬은 전체 배열이 정렬될 때까지 배열의 정렬되지 않은 부분에서 최소 요소를 반복적으로 찾아 배열의 정렬된 부분의 시작 부분에 배치하는 간단한 정렬 알고리즘입니다.

  1. 정렬되지 않은 부분에서 최소 요소(오름차순 고려)를 찾아 맨 처음에 반복적으로 배치하면 배열을 오름차순으로 정렬할 수 있습니다.
  2. 알고리즘은 주어진 배열에서 두 개의 하위 배열을 유지합니다.
    • 이미 정렬된 하위 배열입니다.
    • 정렬되지 않은 나머지 하위 배열입니다.
  3. 선택 정렬을 반복할 때마다 정렬되지 않은 하위 배열에서 최소 요소(오름차순 고려)가 선택되어 정렬된 하위 배열로 이동됩니다.

에 대한 전체 기사를 참조하세요. 선택 정렬 상세 사항은!

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

숫자로 백만
>

>

산출

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

복잡성 분석

    시간 복잡도: O(N2) 보조공간 : O(1)

관련 기사