21xrx.com
2024-09-20 00:42:58 Friday
登录
文章检索 我的文章 写文章
C++实现冒泡排序算法
2023-07-01 02:25:13 深夜i     --     --
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,即排序成功。

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复