21xrx.com
2025-03-29 21:59:21 Saturday
文章检索 我的文章 写文章
C++实现冒泡排序算法
2023-07-01 02:25:13 深夜i     7     0
C++ 实现 冒泡排序 算法

冒泡排序算法是一种简单但效率较低的排序算法,基本思想是从当前元素开始,与相邻元素比较,如果当前元素比相邻元素大,则交换位置,一次循环后最大数会被放到最后一位,然后再从第一个元素开始进行下一次循环,直到所有元素都排好序。

在C++中,我们可以使用一个for循环嵌套另一个for循环来实现冒泡排序算法。具体实现代码如下:

void bubbleSort(int arr[], int n) {
  for (int i = 0; i < n; 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;
      }
    }
  }
}

其中,第一个for循环用于控制冒泡排序的次数,第二个for循环用于比较每个元素和其相邻元素的大小,如果需要交换位置则进行交换。需要注意的是,每次排序后最右边的数一定是最大的,所以第二个for循环的范围是 n - i - 1。

下面我们来测试一下这个冒泡排序算法的实现效果。我们定义一个数组,调用bubbleSort函数进行排序,然后输出排序后的结果。

int main() {
  int arr[] = 1 ;
  int n = sizeof(arr) / sizeof(arr[0]);
  bubbleSort(arr, n);
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  return 0;
}

输出结果为:1 2 3 4 5,即排序成功。

虽然冒泡排序算法的效率较低,在数据量较大时运行速度会非常慢,但作为一种最基本的排序算法,它依然有着重要的实用价值。在理解冒泡排序的基本思想和实现过程的基础上,我们也可以通过其他高效的排序算法来提高程序的运行效率。

  
  

评论区

请求出错了