21xrx.com
2024-12-27 16:29:46 Friday
登录
文章检索 我的文章 写文章
C++数组排序-冒泡算法
2023-07-05 11:58:24 深夜i     --     --
C++ 数组 排序 冒泡算法

冒泡排序是最基本的排序算法之一,它可以对任何类型的数据进行排序。在C++中,也可以使用冒泡排序对数组进行排序。本文将详细介绍如何使用C++的冒泡排序算法来对数组进行排序。

首先,需要明确冒泡排序的基本思想:将相邻的两个元素比较,如果它们的顺序错误就交换它们的位置,直到整个数组排好序为止。这个过程可以看作泡泡从底部冒起的过程,因此称为冒泡排序。

以下是用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`是数组的长度。接下来,我们使用两个循环来实现冒泡排序。外层循环控制排序的次数,内层循环控制每次排序的比较次数。在每次的比较中,如果前面的元素大于后面的元素,我们就交换它们的位置。最终,当外层循环执行n-1次时,数组就被排好序了。

现在,我们来看一个例子,展示如何使用C++的冒泡排序算法:


#include <iostream>

using namespace std;

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

int main()

{

  int arr[] = 64;

  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;

}

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;

      }

    }

  }

}

在这个例子中,我们定义了一个整形数组`arr`,并将其初始值设置为 64。然后,我们计算数组的长度,并将其作为参数传递给`bubbleSort`函数。最后,我们输出已排序的数组。

总结:

在C++中,使用冒泡排序算法对数组进行排序非常简单。只需要定义一个冒泡排序函数,然后使用两个循环来比较和交换数组中的元素。将数组排序后,我们可以方便地使用它用来进行其他操作。

  
  

评论区

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