21xrx.com
2024-09-20 06:07:53 Friday
登录
文章检索 我的文章 写文章
C++冒泡排序算法实现,从小到大排列10个数
2023-07-05 00:04:14 深夜i     --     --
C++ 冒泡排序 实现 小到大 排列10个数

冒泡排序是一种简单的排序算法,它通过不断地比较相邻的两个数,将较大的数往后移,较小的数往前移,最终完成整个序列的排序。在这篇文章中,我们将使用C++语言实现冒泡排序算法,并将10个随机数按从小到大的顺序排列。

首先,我们需要定义一个数组来存储这10个随机数。使用C++的标准库random头文件生成10个随机数,并将其存储到数组中。


#include <iostream>

#include <random>

int main()

{

  int arr[10];

  std::random_device rd;

  std::mt19937 eng(rd());

  std::uniform_int_distribution<> distr(1, 100);

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

  {

    arr[i] = distr(eng);

  }

  std::cout << "Original array: ";

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

  {

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

  }

  return 0;

}

接下来,我们将使用冒泡排序算法将这10个数从小到大排列。


#include <iostream>

#include <random>

int main()

{

  int arr[10];

  std::random_device rd;

  std::mt19937 eng(rd());

  std::uniform_int_distribution<> distr(1, 100);

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

  {

    arr[i] = distr(eng);

  }

  std::cout << "Original array: ";

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

  {

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

  }

  // Bubble sort

  for (int i = 0; i < 10 - 1; i++)

  {

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

    {

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

      {

        // Swap arr[j] and arr[j+1]

        int temp = arr[j];

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

        arr[j + 1] = temp;

      }

    }

  }

  std::cout << "\nSorted array: ";

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

  {

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

  }

  return 0;

}

这段代码中,我们使用了两个for循环来实现冒泡排序算法。外层循环控制比较次数,内层循环控制比较元素。当arr[j]比arr[j+1]大时,我们将它们交换位置,从而实现从小到大排列。

最后,我们将排好序的数组打印出来,输出结果如下:


Original array: 18 11 26 100 75 51 85 38 6 3

Sorted array: 3 6 11 18 26 38 51 75 85 100

通过这个例子,我们可以看到冒泡排序算法的实现思路和代码,同时也了解了如何使用C++的标准库random头文件来生成随机数。

  
  

评论区

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