程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 隨機數組的生成方法

隨機數組的生成方法

編輯:C++入門知識

 

本文將為您講述(也算是記錄),如何生成一個隨機的不重復的數組(也可以說是列表),當然所要填充的數都是整數。

下面來看下怎麼實現吧:

Test_Random.cpp

1.首先創建數組對象a[],當然根據個人需要還可以用double或其他類型的數組。

2.給數組賦初值,代碼中是for循環直接給a[]中各個元素分別賦予了1~1000的整數值。

3.使用random_shuffle高斯隨機將數組中的元素打亂順序,這樣就生成了隨機數組;如果你想更亂,可以多次調用random_shuffle進行操作。

4.Show出隨機數組,查看效果。

 

問題:如果我想要生成可變長度的隨機數列又該怎麼辦呢?如下方法是否可行呢?

int   main()   
{   
	int* a = null;

        a = new int[1000];
	for(int i=0;i<1000;i++)
	{
		a[i] = i;
	}
	int*   a_begin   =   a;   
	int*   a_end   =   a   +   sizeof(a)/sizeof(int);   
	random_shuffle(a_begin,a_end);   

	for(int j=0;   j<1000;   j++)   
	{   
		cout<<a[j]<<"\t";   
	}  

	getchar();
	return 0;
}

注:如上代碼有興趣的盆友們請盡情嘗試吧,不用怕小伙伴們都驚呆了!

 

Solution:要生成可變長度的隨機數列,正確可行的方案又是什麼呢?

TestRandom2.cpp

1.首先創建vector<>對象a,當然根據個人需要還可以用double或其他類型。

2.for循環插入1000個元素,數值范圍是1~1000。

3.使用random_shuffle高斯隨機將數組中的元素打亂順序,這樣就生成了隨機數組;如果你想更亂,可以多次調用random_shuffle進行操作。

4.Show出隨機數組,查看效果。

5.結束時注意清空vector<>。

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved