21xrx.com
2024-12-22 21:22:17 Sunday
登录
文章检索 我的文章 写文章
C++冒泡排序实现n个数
2023-07-01 00:49:44 深夜i     --     --
C++ 冒泡排序 实现 n个数 排序算法

冒泡排序是一种简单的排序算法,其基本思想是将相邻的元素两两比较,如果前面的元素大于后面的元素,则交换这两个元素,重复此过程直到没有任何一对数字需要比较。在C++中实现冒泡排序可以通过以下代码:


void bubbleSort(int arr[], int n) {

  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;

      }

    }

  }

}

以上代码中,bubbleSort函数接收一个整数数组arr和数组长度n作为输入参数。在函数中,我们使用双重循环遍历整个数组,外层循环用于控制遍历的轮数,内层循环用于控制每轮遍历的次数。在每轮遍历中,我们比较相邻的两个元素,如果前面的元素大于后面的元素,就交换这两个元素的位置。通过多轮遍历,将整个数组排序完成。

以下是一个完整的C++程序,演示如何使用冒泡排序实现对n个数的排序:


#include <iostream>

using namespace std;

void bubbleSort(int arr[], int n);

int main() {

  int n;

  cout << "请输入数组的大小:";

  cin >> n;

  int arr[n];

  cout << "请输入" << n << "个整数:" << endl;

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

    cin >> arr[i];

  }

  bubbleSort(arr, n);

  cout << "排序结果为:" << endl;

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

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

  }

  cout << endl;

  return 0;

}

void bubbleSort(int arr[], int n) {

  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;

      }

    }

  }

}

在此程序中,我们首先通过cin输入待排序数组的大小n,然后定义一个长度为n的数组arr,用于存储待排序的n个整数。接下来,我们通过一个for循环依次输入这n个整数。之后调用bubbleSort函数,对数组arr进行排序。最后再通过一个for循环输出排序结果。

总的来说,冒泡排序在实现过程中较为简单易懂,但是当数据量较大时的运行效率较低,因此在实际应用中常常需要考虑使用其他的高效排序算法。

  
  

评论区

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