21xrx.com
2024-12-29 03:35:16 Sunday
登录
文章检索 我的文章 写文章
C++语言实现冒泡法排序
2023-07-09 06:58:19 深夜i     --     --
C++语言 冒泡法 排序

冒泡法是一种简单而又实用的排序算法,在C++语言中也可以轻松地实现。本文将介绍如何用C++语言实现冒泡法排序。

冒泡法的思路很简单,就是在一组数据中,重复地比较相邻的两个数,将较大的数排在后面,较小的数排在前面。每一轮排序完成后,未排序序列中的最大数或最小数就被移到了已排序序列的末尾。

以下是冒泡法排序的C++代码:


void bubble_sort(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;

      }

    }

  }

}

该函数接受一个整型数组和它的长度作为参数,将数组中的元素按升序排列。内部实现了两个循环,其中外部循环控制比较的轮数,内部循环控制每轮比较的次数。

其中,关键的比较操作是通过if语句实现的。当相邻的两个元素需要交换时,我们将它们作为一个元素视为一个整体,然后将该元素依次与它相邻的元素交换,这样就可以完成两个元素的交换操作。

最后,我们可以在main函数中调用bubble_sort函数来测试排序结果,以下是一个例子:


#include <iostream>

using namespace std;

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

int main()

{

  int arr[] = 6;

  int n = sizeof(arr) / sizeof(arr[0]);

  bubble_sort(arr, n);

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

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

  return 0;

}

输出结果为:1 2 3 4 5 6 7 8 9。

在这个例子中,我们定义了一个由9个数字组成的数组,然后调用bubble_sort函数对它进行排序。最后,我们用for循环输出排序结果,可以发现数组中的元素已经按升序排列。

综上所述,冒泡法是一种简单而实用的排序方法,它在C++语言中也有着很好的实现方式,读者可以参考以上代码,自行实现该算法,并进行实际测试。

  
  

评论区

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