21xrx.com
2024-05-19 20:08:50 Sunday
登录
文章检索 我的文章 写文章
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 函数,可以实现更加高效的排序操作。但是,了解冒泡排序的基本思想对于理解其他排序算法也是非常有帮助的。

  
  
下一篇: 开发基础教程

评论区

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