21xrx.com
2024-12-23 01:48:21 Monday
登录
文章检索 我的文章 写文章
C++冒泡排序代码实现
2023-06-23 02:02:13 深夜i     --     --
C++ 冒泡排序 代码实现

冒泡排序是一种简单的排序算法,它通过不断地比较相邻的元素并交换排序顺序来达到排序的目的。其时间复杂度为 O(n²),适用于小型数据排序。

下面是使用 C++ 编写的冒泡排序的代码实现:


#include <iostream>

using namespace std;

void bubble_sort(int arr[], int n)

{

  int i, j;

  bool swapped;

  for(i = 0; i < n - 1; i++)

  {

    swapped = false;

    for(j = 0; j < n - i - 1; j++)

    {

      if(arr[j] > arr[j+1])

      {

        swap(arr[j], arr[j+1]);

        swapped = true;

      }

    }

    if(!swapped)

      break;

  }

}

int main()

{

  int arr[] = 11;

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

  bubble_sort(arr, n);

  cout<<"Sorted array: "<<endl;

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

  {

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

  }

  cout<<endl;

  return 0;

}

在这个程序中,我们定义了一个 bubble_sort 函数,它使用两个嵌套的循环来实现冒泡排序。外部循环从 0 到 n-1 遍历整个数组,内部循环从 0 到 n-i-1 遍历未排序部分的数组。在内部循环中,如果 arr[j] 大于 arr[j+1],则它们会交换位置。如果在一次外部循环中没有发生任何交换,则说明数组已经排序完毕,可以退出循环。

在 main 函数中,我们创建了一个整数类型的数组 arr,并调用 bubble_sort 函数对其进行排序。最后,我们打印了排序后的数组。

使用冒泡排序算法时,需要注意两点:

1. 内部循环范围的上限已经减去了已经排序的元素个数。

2. 内部循环可以提前结束,如果数组已经排好序,不必再执行后续的比较操作。

总之,冒泡排序虽然效率不高,但是容易实现,适用于小规模数据排序。它是一种简单的学习排序算法的入门选择,对于初学者来说是非常有益的练习。

  
  

评论区

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