溫馨提示×

C語言如何給數(shù)字排序

小億
219
2023-11-01 19:03:55
欄目: 編程語言

C語言可以使用以下幾種方法來給數(shù)字排序:

  1. 冒泡排序:比較相鄰的兩個元素,如果順序錯誤則交換位置,每次遍歷都將最大(或最小)的元素移到最后,重復執(zhí)行直到排序完成。
void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}
  1. 選擇排序:每次從未排序的部分中選擇最小(或最大)的元素,放到已排序部分的末尾,重復執(zhí)行直到排序完成。
void selectionSort(int arr[], int n) {
    for (int i = 0; i < n-1; i++) {
        int minIndex = i;
        for (int j = i+1; j < n; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }
        int temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
}
  1. 插入排序:將待排序的元素插入到已排序部分的合適位置,重復執(zhí)行直到排序完成。
void insertionSort(int arr[], int n) {
    for (int i = 1; i < n; i++) {
        int key = arr[i];
        int j = i - 1;
        while (j >= 0 && arr[j] > key) {
            arr[j+1] = arr[j];
            j--;
        }
        arr[j+1] = key;
    }
}

以上是三種常見的排序算法,可以根據實際需求選擇合適的方法進行排序。

0