c语言怎么排序一组数

avatar
作者
猴君
阅读量:2

在C语言中,可以使用多种排序算法对一组数进行排序。以下是常见的几种排序算法的示例代码:

  1. 冒泡排序(Bubble Sort):
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. 快速排序(Quick Sort):
void quickSort(int arr[], int low, int high) {     if (low < high) {         int pivot = partition(arr, low, high);         quickSort(arr, low, pivot - 1);         quickSort(arr, pivot + 1, high);     } }  int partition(int arr[], int low, int high) {     int pivot = arr[high];     int i = low - 1;     for (int j = low; j < high; j++) {         if (arr[j] < pivot) {             i++;             int temp = arr[i];             arr[i] = arr[j];             arr[j] = temp;         }     }     int temp = arr[i+1];     arr[i+1] = arr[high];     arr[high] = temp;     return i + 1; } 
  1. 选择排序(Selection Sort):
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. 插入排序(Insertion Sort):
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;     } } 

以上仅是几种常见的排序算法示例,实际应用中还有其他更复杂的排序算法可供选择。根据具体情况选择适合的排序算法可以提高排序的效率。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!