21xrx.com
2025-03-23 23:25:34 Sunday
文章检索 我的文章 写文章
"使用C++编写冒泡排序算法代码"
2023-07-13 02:47:35 深夜i     20     0
C++ 冒泡排序 算法 代码 排序

冒泡排序算法是一种简单但有效的排序方法,能够对一组数列进行升序或降序排序。在本文中,将介绍如何使用C++编写冒泡排序算法代码。

冒泡排序算法基于交换排序思想,即每次比较相邻的两个元素,如果它们的顺序不正确就交换位置。这个过程像冒泡一样,因此称为冒泡排序。

下面是使用C++编写冒泡排序函数的示例代码:

void bubbleSort(int arr[], int n) {
  int i, j, temp;
  bool swapped;
  for (i = 0; i < n - 1; i++) {
    swapped = false;
    for (j = 0; j < n - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
        swapped = true;
      }
    }
    if (swapped == false)
      break;
    
  }
}

该函数接受一个整型数组和该数组的大小作为参数,并将对数组进行排序。函数中的变量“i”和“j”分别表示外层循环和内层循环的迭代变量,即分别用于遍历数组的元素和它们的相邻元素。变量“temp”是用于交换元素的临时变量。变量“swapped”用于检测是否在当前循环中发生了排序,如果没有发生排序,就说明数组已经排好序了,函数可以退出。

接下来,让我们看一个冒泡排序算法代码的示例:

#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
  int i, j, temp;
  bool swapped;
  for (i = 0; i < n - 1; i++) {
    swapped = false;
    for (j = 0; j < n - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
        swapped = true;
      }
    }
    if (swapped == false)
      break;
    
  }
}
int main() {
  int arr[] = 9;
  int n = sizeof(arr) / sizeof(arr[0]);
  bubbleSort(arr, n);
  cout << "Sorted array: \n";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}

该程序首先定义并初始化了一个整型数组“arr”,然后使用sizeof运算符计算出数组的大小。接下来,程序调用我们所编写的bubbleSort函数,将数组和数组大小作为参数传递给该函数。最后,输出已经排序好的数组的元素,程序运行结束。

冒泡排序算法是一种易于理解和实现的排序方法。这篇文章介绍了如何使用C++编写冒泡排序算法代码。如果需要使用其他排序算法或更高效的排序方法,请参考其他资料。

  
  

评论区