关于随即函数的效率

Timesking 2002-06-07 11:19:28
我想为一个数组赋予十个随机数(坐标),均小于29
POINT CanEat[10];
我是用以下算法
int temp;
int i=0;

srand( (unsigned)time( NULL ) );

while(i<20)
{
temp=rand();

if(i<10)
CanEat[i].x=temp%29;
else
CanEat[i-10].y=temp%28;

i++;
}


怎样改才能让其生成效率更高?
...全文
59 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ninenine 2002-06-10
  • 打赏
  • 举报
回复
这个是pascal的:
procedure randomed;
var i,j,tmp:integer;
begin
?randomize;
?for i:=0 to 9 do b[i]:=i;
?for i:=9 downto 0 do begin
? tmp:=random(i+1);
? a[i]:=b[tmp];
? for j:=tmp to i-1 do b[j]:=b[j+1];
?end;
end;

================================================================
请指教!

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧