21xrx.com
2024-11-22 11:39:10 Friday
登录
文章检索 我的文章 写文章
C++语言实现冒泡排序,从小到大排序
2023-06-22 06:23:01 深夜i     --     --
C++ 冒泡排序 从小到大排序 数组 交换

冒泡排序是一种简单直观的排序算法。其原理是不断比较相邻的两个元素,若顺序不正确则交换位置,直到没有相邻的元素需要交换为止。在C++语言中,可以通过简单的代码实现冒泡排序。

下面是从小到大排序的冒泡排序的C++代码实现:


#include <iostream>

using namespace std;

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

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

      }

    }

  }

}

int main() {

  int arr[] = 1;

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

  bubbleSort(arr, n);

  cout<<"Sorted array: ";

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

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

  }

  return 0;

}

在这段代码中,我们定义了一个bubbleSort函数,该函数接收一个整数数组arr和数组长度n作为参数。在函数中使用两个循环嵌套来实现冒泡排序。外层循环只需要执行n-1次,因为冒泡排序每次将未排序部分的最大值放到已排序部分的最后一个位置,所以最后一个元素总是已排序的。内层循环负责把未排序部分的最大值放到已排序部分的最后一个位置,因此每次内层循环的范围可以缩小1。

在内层循环中,我们比较相邻两个元素的大小,如果顺序不正确则交换位置。这里使用了一个swap函数来交换两个元素的位置。在完成所有比较和交换之后,我们得到一个有序的数组。

最后,我们在main函数中调用bubbleSort函数,对一个未排序的数组进行排序,然后输出排好序后的数组。在本例中,我们对1数组进行排序,输出结果如下:


Sorted array: 1 2 3 4 5

可以看到,通过冒泡排序,我们将数组按照从小到大的顺序排好了序。冒泡排序虽然简单直观,但是由于其时间复杂度为O(n^2),在处理大规模的数据时效率较低,不过在小规模数据或者教育场景下,冒泡排序仍然是一种很好的算法来训练编程技巧和理解排序原理。

  
  

评论区

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