21xrx.com
2024-12-22 22:28:30 Sunday
登录
文章检索 我的文章 写文章
C++冒泡排序法代码示例 – 简单易懂
2023-07-01 10:36:14 深夜i     --     --
C++ 冒泡排序 代码 示例 简单易懂

在计算机编程中,排序算法是极其重要的一方面。其中,冒泡排序算法是最为基本的一种排序算法,又称为泡式排序。冒泡排序算法的基本思想是在每次遍历中将相邻的两个元素进行比较,如果他们的顺序不正确,就把它们交换过来,从而达到排序的效果。接下来我们就来看一下C++中实现冒泡排序的代码示例。

代码框架如下:


#include<iostream>

#include<cstdlib>

using namespace std;

void bubble_sort(int arr[], int n)

  // 在这里编写冒泡排序代码

int main()

{

  int arr[] = {}; // 需要排序的数组

  int n = sizeof(arr)/sizeof(arr[0]); // 计算需要排序的数组长度

  cout<<"排序前的数组为:"<<endl;

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

  {

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

  }

  cout<<endl;

  bubble_sort(arr, n);

  cout<<"排序后的数组为:"<<endl;

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

  {

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

  }

  cout<<endl;

  return 0;

}

接下来,我们就来填充`bubble_sort`函数的具体实现。


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

      {

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

      }

    }

  }

}

代码解释:

- 外层循环控制排序轮数,每一轮遍历过后都会将当前的最大值沉底。外层循环的循环次数为`n-1`次。

- 内层循环控制数组遍历,并将相邻的元素进行比较。如果左侧元素大于右侧元素,那么就交换位置,从而将最大值沉底到数组的末尾。

- swap函数用于交换数组元素的位置。

- 因为数组下标是从0开始,所以在内层循环中,由于每比较一次数组就会少比较一次,所以需要用`j

现在,我们就可以使用C++编写一份简单易懂的冒泡排序代码喽!

  
  

评论区

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