我想按排序順序生成隨機數。 我寫以下代碼:以排序順序生成隨機數
void CreateSortedNode(pNode head)
{
int size = 10, last = 0;
pNode temp;
while(size-- > 0) {
temp = (pnode)malloc(sizeof(struct node));
last += (rand()%10);
temp->data = last;//randomly generate number in sorted order
list_add(temp);
}
}
[編輯:] 期待數量將增加生成或減少的順序:即{2,5,9,23,45,68}
int main()
{
int size = 10, last = 0;
while(size-- > 0) {
last += (rand()%10);
printf("%4d",last);
}
return 0;
}
有什麼更好的想法
不會拋出'malloc()'的返回,並且您知道這不是完全隨機的,您將下一個數字限制在最後一個的'+ 10'內。 – Haris 2014-10-20 13:57:45
「按排序順序生成隨機數」是什麼意思?你期望輸出什麼? – interjay 2014-10-20 13:59:18
首先生成隨機數然後對其進行排序。隨機意味着隨機:) – user1336087 2014-10-20 13:59:34