21xrx.com
2025-04-07 10:09:24 Monday
文章检索 我的文章 写文章
C++数组排序方法
2023-07-13 15:26:42 深夜i     24     0
C++ 数组 排序方法 快速排序 冒泡排序

在C++编程中,数组是一种重要的数据结构,它可以存储一系列的数据。但是,在实际开发中,我们经常需要对数组进行排序,从而更好地组织和处理数据。下面介绍几种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]){
        swap(arr[j], arr[j+1]);
      }
    }
  }
}

2. 选择排序(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;
      
    }
    swap(arr[i], arr[minIndex]);
  }
}

3. 插入排序(Insertion Sort)

插入排序是一种稳定的排序算法。它的基本思想是通过不断将当前元素插入到前面已经排好序的序列中,形成一个递增(或递减)的序列。通过多次遍历,每次将当前元素插入到前面合适的位置,最后得到一个有序的数组。

以下是插入排序的实现代码:

void insertionSort(int arr[], int n){
  for(int i=1; i<n; i++){
    int cur = arr[i];
    int j = i - 1;
    while(j >= 0 && arr[j] > cur){
      arr[j+1] = arr[j];
      j--;
    }
    arr[j+1] = cur;
  }
}

以上是C++数组排序的三种常用方法。在实际开发中,不同的排序算法可能有不同的优缺点,我们需要根据具体的应用场景来选择合适的算法。

  
  

评论区