21xrx.com
2024-05-20 14:06:30 Monday
登录
文章检索 我的文章 写文章
"使用C++编写冒泡排序算法代码"
2023-07-13 02:47:35 深夜i     --     --
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++编写冒泡排序算法代码。如果需要使用其他排序算法或更高效的排序方法,请参考其他资料。

  
  

评论区

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