21xrx.com
2024-11-05 19:02:07 Tuesday
登录
文章检索 我的文章 写文章
C++ 实现冒泡排序
2023-07-13 16:42:31 深夜i     --     --
C++ 冒泡排序 实现

冒泡排序是一种简单而实用的排序算法,它通过比较相邻元素的大小然后交换它们的位置来达到排序的目的。在 C++ 中,实现冒泡排序并不难,下面我们将介绍一下具体实现。

首先,我们需要一个数组来存储待排序的元素。假设我们的数组名为 arr,那么我们可以用下面的代码来读入数组元素。


int n;

cin >> n; // 读入数组大小

int arr[n];

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

  cin >> arr[i]; // 读入数组元素

}

接下来,我们可以用下面的代码来实现冒泡排序。


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

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

    if (arr[j] > arr[j + 1]) {

      // 如果前一个元素比后一个元素大则交换它们的位置

      swap(arr[j], arr[j + 1]);

    }

  }

}

上面的代码中,我们使用了两层循环来遍历整个数组。在内层循环中,我们比较相邻元素的大小,如果前一个元素比后一个元素大,则将它们的位置交换。这样,不断地重复这个过程,直到数组被排好序为止。

最后,我们可以用下面的代码来输出排好序的数组元素。


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

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

}

完整的代码如下。


#include <iostream>

using namespace std;

int main() {

  int n;

  cin >> n; // 读入数组大小

  int arr[n];

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

    cin >> arr[i]; // 读入数组元素

  }

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

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

      if (arr[j] > arr[j + 1]) {

        // 如果前一个元素比后一个元素大则交换它们的位置

        swap(arr[j], arr[j + 1]);

      }

    }

  }

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

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

  }

  return 0;

}

通过上面的代码,我们可以轻松地实现冒泡排序,并对任意大小的数组进行排序。虽然冒泡排序的时间复杂度较高,但由于其简单可靠的特点,它在实际中仍然被广泛使用。

  
  

评论区

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