21xrx.com
2024-05-20 19:52:02 Monday
登录
文章检索 我的文章 写文章
C++ 冒泡排序具体代码示例
2023-07-05 09:30:16 深夜i     --     --
C++ 冒泡排序 代码示例

冒泡排序是一种简单的排序算法,它的基本思想是比较相邻的元素,如果第一个比第二个大,就交换它们两个。在一轮的比较后,最大的元素会“浮”到数组的最后一个位置,下一轮排序开始时,除了最后一个元素,其他元素再次进行比较。重复以上操作直到整个数组排好序。

下面是使用C++实现冒泡排序的具体代码示例:


#include<iostream>

using namespace std;

void bubbleSort(int arr[], int n) {

  for (int i = 0; i < n - 1; i++) { //外层循环控制排序轮数

    for (int j = 0; j < n - 1 - i; j++) { //内层循环控制每轮排序次数

      if (arr[j] > arr[j + 1]) { //比较并交换

        int temp = arr[j];

        arr[j] = arr[j + 1];

        arr[j + 1] = temp;

      }

    }

  }

}

int main() {

  int arr[] = 70;

  int n = sizeof(arr) / sizeof(arr[0]);

  cout << "Before sorting: ";

  for (int i = 0; i < n; i++) {

    cout << arr[i] << " ";

  }

  cout << endl;

  bubbleSort(arr,n);

  cout << "After sorting: ";

  for (int i = 0; i < n; i++) {

    cout << arr[i] << " ";

  }

  cout << endl;

  return 0;

}

在上面的代码中,我们首先定义了一个冒泡排序算法函数bubbleSort(),这个函数接收一个整数数组arr[]和数组的长度n作为参数。接下来,我们使用两个嵌套循环来实现排序算法。外层循环控制排序轮数,内层循环则是每轮排序中两两比较和交换的次数。最后,我们在main()函数中调用bubbleSort()函数,并打印出排序前和排序后的整数数组。

如果你输入上述代码并编译它,你将看到以下输出结果:


Before sorting: 10 50 30 40 80 70 90 20 100 60

After sorting: 10 20 30 40 50 60 70 80 90 100

这是一个排好序的数组,与输入数组相比,元素已经按升序排列。冒泡排序虽然简单,但在实际应用场景中还是很常见的一种排序算法,比如在排序少量元素和实现基本算法中,它非常有用。然而,在排序大量元素时,冒泡排序性能会降低,因此,它不推荐用于实际的生产环境。

  
  

评论区

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