21xrx.com
2024-11-22 05:34:54 Friday
登录
文章检索 我的文章 写文章
C++随机数排序
2023-07-08 22:45:53 深夜i     --     --
C++ 随机数 排序

随机数在计算机编程中是一个非常重要的概念,在C++编程中也是不可或缺的。而排序则是计算机编程中另一个非常常见的任务,因此将随机数排序也成为了一般编程问题之一。在本篇文章中,我们将讨论如何在C++中对随机数进行排序。

要想进行随机数排序,我们需要用到C++的随机数生成函数和排序函数。在C++11和之后版本中,我们可以使用std::random_device和std::default_random_engine函数来生成随机数。而排序函数则有很多种,包括std::sort、std::stable_sort和std::partial_sort等。

首先我们需要生成一些随机数,可以使用std::uniform_int_distribution函数来生成一定范围内的整数随机数,如下所示:


#include <iostream>

#include <random>

#include <vector>

#include <algorithm>

int main()

{

  int N = 10;

  std::vector<int> v(N);

  // 使用随机数生成器生成一些随机数

  std::random_device rd;

  std::default_random_engine e(rd());

  std::uniform_int_distribution<int> u(0, 100);

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

  {

    v[i] = u(e);

  }

  // 输出随机数

  for (auto i : v)

  

    std::cout << i << " ";

  

  std::cout << std::endl;

  return 0;

}

以上代码使用std::random_device生成一个随机种子,然后使用std::default_random_engine函数生成一个随机数生成器,最后使用std::uniform_int_distribution函数生成一个范围为0-100的整数随机数,通过循环将生成的随机数存储到一个vector中,再通过循环输出这些随机数。

接下来我们需要对生成的随机数进行排序。可以使用std::sort函数来进行快速排序,如下所示:


#include <iostream>

#include <random>

#include <vector>

#include <algorithm>

int main()

{

  int N = 10;

  std::vector<int> v(N);

  // 使用随机数生成器生成一些随机数

  std::random_device rd;

  std::default_random_engine e(rd());

  std::uniform_int_distribution<int> u(0, 100);

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

  {

    v[i] = u(e);

  }

  // 输出随机数

  for (auto i : v)

  

    std::cout << i << " ";

  

  std::cout << std::endl;

  // 排序

  std::sort(v.begin(), v.end());

  // 输出排序后的数

  for (auto i : v)

  

    std::cout << i << " ";

  

  std::cout << std::endl;

  return 0;

}

以上代码使用std::sort函数对生成的随机数进行排序,排序后再把排序后的随机数输出。同样可以使用其他的排序函数,比如std::stable_sort和std::partial_sort等。

综上所述,C++中对随机数排序可以通过随机数生成函数和排序函数实现,对于不同的需求,可以使用不同的排序函数来满足。

  
  

评论区

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