关闭

打乱N个数

标签: c++-算法
169人阅读 评论(0) 收藏 举报
分类:

生成范围为0-N的N个不重复的数

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
   int startArray[100];
   cout << "please input the max number\n";
   int N;
   cin >> N;
   srand(time(NULL));

   for (int i = 0; i < N; i++) startArray[i] = i + 1;

   int resultArray[N + 1];
   for (int i = 0; i < N; i++) {
    int seed = rand() % (N - i);
    resultArray[i] = startArray[seed];
    startArray[seed] = startArray[N - i - 1];
   }
   cout << "after mix the number \n";
   for (int i = 0; i < N; i++) {
    cout << resultArray[i] << " ";
   }
   return 0;
}

这里写图片描述

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

完美洗牌问题(打乱数组间各元素的顺序)

除了前一篇的完美洗牌问题,还有一种洗牌,就是乱序(shuffle)的问题,将54张有序的扑克牌的顺序打乱,实现洗牌操作。局部洗牌法1。随机产生一个1-n的数x,做为第一张牌。 2。随机产生一个1-(...
  • oMengLiShuiXiang1234
  • oMengLiShuiXiang1234
  • 2016-05-04 16:32
  • 2369

长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换.将数组中的元素按对应位置放置使得a[i]=i

长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换.将数组中的元素按对应位置放置使得a[i]=i; 此题目中的数据很像一个哈希表,但是只能用和0交换的方式进行位置调整。目前只知道算法复...
  • u014659656
  • u014659656
  • 2015-04-18 19:09
  • 3988

在N个乱序数字中查找第k大的数字

在N个乱序数字中查找第k大的数字 在N个乱序数字中查找第k大的数字,时间复杂度可以减小至  O(N*logN) O(N) O(1) O(2) 答案:B ...
  • u010412301
  • u010412301
  • 2017-03-28 23:37
  • 1230

n个数的全排列

  • 2014-10-28 09:30
  • 558B
  • 下载

输出n个数字的全排列(可重复)

  • 2013-03-26 21:23
  • 34KB
  • 下载

求n个数的最大公约数

  • 2009-05-16 16:49
  • 455B
  • 下载

java递归实现N个数全排列输出

  • 2007-11-20 22:57
  • 2KB
  • 下载

用递归法计算从n个正整数中选择k个数的不同组合数

  • 2011-01-01 10:19
  • 4KB
  • 下载

javascript从一亿个数中找出最大的100个 或者n个

  • 2012-03-19 16:53
  • 3KB
  • 下载

使用VC计算N个数的最小值

  • 2014-11-01 21:32
  • 153KB
  • 下载
    个人资料
    • 访问:15483次
    • 积分:257
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论