21xrx.com
2025-03-26 07:46:39 Wednesday
文章检索 我的文章 写文章
C++ 冒泡排序程序
2023-06-22 01:06:52 深夜i     --     --
C++ 冒泡排序 程序

C++ 冒泡排序程序是一种常见的排序算法,其基本思想是反复遍历要排序的数组,比较相邻的元素并交换它们的位置,直到排序完成为止。本文将介绍一个简单的 C++ 冒泡排序程序的实现方法。

首先,我们需要定义一个数组来存储要排序的元素。以下是一个简单的示例,用于说明如何声明和初始化一个数组:

int arr[] = 3;

然后,我们可以使用一对嵌套的 for 循环来遍历数组。外部循环控制要排序的轮数,而内部循环则遍历每个元素并比较相邻的两个元素:

int n = sizeof(arr)/sizeof(arr[0]);
for (int i = 0; i < n - 1; 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;
    }
  }
}

在每次内部循环结束后,我们可以确保数组中最大的元素已经移动到了最右边。因此,我们可以在下一次外部循环中忽略最右边的元素,这样可以进一步加快排序的速度。

最后,我们可以输出数组中排序后的元素:

cout << "排序后的元素:";
for (int i = 0; i < n; i++) {
  cout << arr[i] << " ";
}
cout << endl;

完整的 C++ 冒泡排序程序如下所示:

#include <iostream>
using namespace std;
int main() {
  int arr[] = 8;
  int n = sizeof(arr)/sizeof(arr[0]);
  for (int i = 0; i < n - 1; 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;
      }
    }
  }
  cout << "排序后的元素:";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}

实际上,C++ STL(标准模板库)中已经提供了 sort 函数,可以实现更加高效的排序操作。但是,了解冒泡排序的基本思想对于理解其他排序算法也是非常有帮助的。

  
  
下一篇: 开发基础教程

评论区