21xrx.com
2025-03-24 17:57:21 Monday
文章检索 我的文章 写文章
C++数组按大小排序方法
2023-07-06 18:19:18 深夜i     16     0
C++ 数组 排序 大小

C++是一种强大的编程语言,广泛用于各种领域的编程。在C++中,数组是一种常见的数据类型,用来存储一组相同类型的数据。当我们需要对数组中的数据按照大小进行排序时,可以使用以下方法。

1. 冒泡排序

冒泡排序是一种简单的排序算法,它比较相邻的元素并交换它们,把最大的元素移动到最后。重复这个过程直到数组按照大小排好序。

C++ 代码示例:

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 tmp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = tmp;
      }
    }
  }
}

2. 快速排序

快速排序是一种高效的排序算法,它使用分治法的思想,将数组分成两个子数组,一个子数组的元素都比另一个子数组的元素小。重复这一过程直到所有子数组都变成单个元素,最终将所有元素合并成一个有序的数组。

C++ 代码示例:

void quicksort(int arr[], int left, int right){
  if(left >= right)
    return;
  
  int pivot = arr[(left + right) / 2];
  int i = left, j = right;
  while(i <= j){
    while(arr[i] < pivot){
      i++;
    }
    while(arr[j] > pivot)
      j--;
    
    if(i <= j){
      int tmp = arr[i];
      arr[i] = arr[j];
      arr[j] = tmp;
      i++;
      j--;
    }
  }
  quicksort(arr, left, j);
  quicksort(arr, i, right);
}

3. 选择排序

选择排序是一种简单的排序算法,它每次选择最小的元素,将其放在已排序的数组的末尾。重复这个过程直到整个数组都按照大小排好序。

C++ 代码示例:

void selectionsort(int arr[], int n){
  for(int i=0; i < n-1; i++){
    int min_idx = i;
    for(int j=i+1; j < n; j++){
      if(arr[j] < arr[min_idx])
        min_idx = j;
      
    }
    int tmp = arr[i];
    arr[i] = arr[min_idx];
    arr[min_idx] = tmp;
  }
}

以上是三种常见的C++数组按大小排序方法,每种算法都有其优缺点。开发者可以根据实际需求选择适当的算法进行排序。

  
  

评论区

请求出错了