21xrx.com
2024-12-22 22:31:53 Sunday
登录
文章检索 我的文章 写文章
C++ 冒泡排序代码示例
2023-06-27 04:54:25 深夜i     --     --
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])

   {

    int temp = arr[j];

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

    arr[j+1] = temp;

   }

  }

 }

}

int main()

{

 int n;

 cin>>n;

 int arr[n];

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

 {

  cin>>arr[i];

 }

 bubbleSort(arr,n);

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

 {

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

 }

 return 0;

}

注释如下:

1. `void bubbleSort(int arr[], int n)`:定义一个函数,参数为指向数组arr和数值n的指针

2. `for (int i = 0; i < n-1; i++)`:第一层循环,从数组头部开始,每次循环到数组尾部之前

3. `for (int j = 0; j < n-i-1; j++)`:第二层循环,从数组头部开始,每次循环到当前位置的后一个位置

4. `if (arr[j] > arr[j+1])`:判断是否需要交换相邻的两个元素,如果前一个元素比后一个元素大,就需要交换它们的位置

5. `int temp = arr[j];`:定义一个临时变量 temp,用于交换两个元素的值

6. `arr[j] = arr[j+1];`:将后一个元素的值赋给前一个元素

7. `arr[j+1] = temp;`:将 temp 存储的前一个元素的值赋给后一个元素

8. `cin>>n;`:接收输入的数组长度

9. `for(int i=0;i

10. `bubbleSort(arr,n);`:调用冒泡排序函数,对输入的数组进行排序

11. `cout< <<" ";`:循环输出排序后的数组元素值

C++ 冒泡排序是一种最简单、代码量较小的排序算法,它的复杂度为 O(n²),适合处理小数据量的排序任务。但是当数据量过大时,它的效率很低,不适合处理大规模的数据,需要使用其他排序算法。

  
  

评论区

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