| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1466 人关注过本帖
标题:来看看这个题目,请大家提出效率高的方法
只看楼主 加入收藏
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
收藏
得分:0 


那不就是我说的意思吗?
---------
在开玩笑吗? 那不就是 1 到1000吗?...
你不如说" 把1 到1000的排列打乱"...


女侠,约吗?
2007-08-11 20:08
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 
明白LS的意思~

想问下函数库中有没有直接的函数可以使用呢

拜托了~~

每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-08-11 21:11
狂人老大
Rank: 1
来 自:杭州
等 级:新手上路
威 望:1
帖 子:394
专家分:0
注 册:2007-6-21
收藏
得分:0 
工作量也太大了啊
能行的吗

ACMer的QQ群:33741351
单片机QQ群:55130117
2007-08-11 21:21
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用狂人老大在2007-8-11 21:21:46的发言:
工作量也太大了啊
能行的吗

我6楼提的都线性了,还大?再高效率的还没怎么见过!


Fight  to win  or  die...
2007-08-11 21:29
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
收藏
得分:0 
2次线性运算...
2个for..
没嵌套..
打乱排序....

女侠,约吗?
2007-08-12 02:02
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 
回复:(小糊涂仙)来看看这个题目,请大家提出效率高的...

try the following code to see if it works for you.

HJin
===========================================================

/*---------------------------------------------------------------------------
File name: random_shuffle_fuctor.cpp
Author: HJin (email: fish_sea_bird [at] yahoo [dot] com )
Created on: 8/11/2007 15:57:48
Environment: Windows XP Professional SP2 English +
Visual Studio 2005 v8.0.50727.762


Modification history:
===========================================================================


Note that the internal "rand()" function is not a good one, you may
want to use a better one.
*/

#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
using namespace std;


class RandFunctor
{
public:
RandFunctor()
{
srand(time(0));
}

int operator()(int m)
{
return (rand()| (rand()<<16) )%m;
}
};


int main()
{
const int kSize=20;
int i;

vector<int> vi(kSize);
for(i=0; i<kSize; ++i)
vi[i] = i+1;

RandFunctor rf;
std::random_shuffle(vi.begin(), vi.end(), rf);

std::copy(vi.begin(), vi.end(), ostream_iterator<int>(cout, " "));
cout<<endl;

return 0;
}


I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-08-12 06:58
wingyip
Rank: 1
等 级:新手上路
威 望:2
帖 子:119
专家分:0
注 册:2007-7-16
收藏
得分:0 
樓上的實在看不懂啊。
是不是程序原本c++就有的? random我一直也在想怎么實現。

2007-08-12 09:03
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 
想问一下这两个函数是有什么用的~~
在哪个库文件中~~

std::random_shuffle(vi.begin(), vi.end(), rf);

std::copy(vi.begin(), vi.end(), ostream_iterator<int>(cout, " "));

每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-08-12 09:46
leng
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-6-27
收藏
得分:0 
你们说的产生的1000个随机数  可不可以用一个程序写出来呀?乌笨没搞懂你们讲的方法。

2007-08-12 10:12
leng
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-6-27
收藏
得分:0 
可以先写从1到10 随机生成10个数   让我搞懂一下你们的思想  谢谢

2007-08-12 10:16
快速回复:来看看这个题目,请大家提出效率高的方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029176 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved