21xrx.com
2024-05-20 11:09:51 Monday
登录
文章检索 我的文章 写文章
C++冒泡排序算法代码
2023-07-11 08:39:07 深夜i     --     --
C++ 冒泡排序 算法 代码

冒泡排序算法是一个简单、直观且易于理解的排序算法。该算法通过比较相邻元素并交换它们,依次将最大的元素冒泡到最后一个位置,再重复进行这个过程,直到所有元素都排好序。以下是C++实现冒泡排序的代码:


#include <iostream>

using namespace std;

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

  int i, j, temp;

  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]){

        temp = arr[j];

        arr[j] = arr[j+1];

        arr[j+1] = temp;

        swapped = true;

      }

    }

    if(swapped == false)

      break;

  }

}

int main(){

  int arr[] = 22;

  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;

}

在上面的代码中,bubbleSort()函数实现了冒泡排序算法。它使用两个循环嵌套,第一个循环从数组的第一个元素到倒数第二个元素,第二个循环从第一个元素到未排序部分的最后一个元素。如果相邻元素的顺序不正确,则它们进行交换。如果在整个排序周期内没有进行任何交换,则表示数组已排序完成,算法终止。

在main()函数中,我们创建一个整数数组并调用bubbleSort()。最后,我们打印出已排序的数组。

冒泡排序是一个简单但低效的排序算法。在最优情况下,时间复杂度为O(n)。在最坏情况下,时间复杂度为O(n^2)。在实际使用中,当数据规模较小时,冒泡排序算法是一个不错的选择。但是,当数据规模很大时,其他更高效的排序算法将更加合适。

  
  

评论区

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