隨機數生成 排序操作,怎樣將資料進行隨機排序?

時間 2025-04-06 18:25:17

1樓:兜喀搶答員

#include

#include

#include

#define random(x) (rand()%x))void sort(int *x,int n)//排序方法if(x==null)

printf("can not read num!");

else{int temp,*i,*j;

for(i=x;i!=x+n-1;++i)for(j=i+1;j!=x+n;++j)if(*j<*i)//實現交換。

temp=*i;

i=*j;j=temp;

void output(int *p,int num)//輸出結果int i;

if(p!=null)

for(i=0;iprintf("%d ",p[i]);

void writetxt()/生成100個隨機數並存放到 f盤檔案中。

int i=0;

srand((unsigned int)time(null));

file *pfile = fopen("f:\\","w");

for(i=0; i<100; i++)

fprintf(pfile,"%d",random(1000));

fclose(pfile);

int* readtxt()/讀取檔案並將100個數存入陣列返回int num = 0;

int *a;

a = new int[100];

file *pfile = fopen("f:\\","r");

if(pfile==null)

return null;

fscanf(pfile,"%d",&num);

for(int i=0;i<100;i++)fscanf(pfile,"%d",&a[i]);

fclose(pfile);

return a;

int main()

writetxt();生成100個隨機數。

int* a = readtxt();讀取文件並存入陣列中sort(a,100); 呼叫排序演算法。

output(a,100);/輸出結果。

return 0;

2樓:物理公司的

這種東西沒人做吧。

怎樣將資料進行隨機排序?

3樓:小小歐平兒

1、首先開啟需要操作的excel**。

2、然後在e2單元箇中輸入「=」號,新增輔助函式rand。

3、在e2單啟手元格回車,核純在e2單元格右下角下拉複製函式。

4、悄氏嫌選擇排序和篩選公升序,降序都可以。

5、即可看到隨機排序完成。

5、最後儲存檔案即可。

excel 中在指定列生成資料列的隨機排序?

4樓:

<>不用輔助列,直接在o列生成,o5公式:

large(if(countif(n$4:n4,$b$5:$b$19)=0,$b$5:$b$19),randbetween(1,16-row(a1)))

陣列公式,按組合鍵ctrl+shift+回車,完成公式,下拉到o19。

5樓:匿名使用者

有限公式:n5輸入。

offset(b$5,randbetween(0,14),)回車並向下填充,按f9更新資料。

但隨機就有可能出現重複。在o列可以用=if(countif(n$5:n$19,n5)>1,"重","做判斷。

隨機數列怎麼排序

6樓:歧華猶音

pascal裡的隨機數。

隨機數是指理論上沒有規律可循、在指定範圍內每個數的出現幾率相等、無法槐伏根據之前的數來**下乙個數的數列。一般隨機數生成器的基本原理是:首鉛坦攜先初始化乙個隨機種子,其初始值可以是任意的整數;在每次獲取隨機數時,以隨機種子為基礎進行某種特殊的運算,獲得乙個隨機數並返回之,然後再對隨機種子進行某種運算,改變隨機種子的值。

這樣,就可以生成許多比較隨機的數,但同乙個初始值的隨機種子將會生成完全相同的隨機數列。

pascal的system單元提供了兩個與隨機數有關的子程式:randomize和random。

randomize過程用於初始化隨機種子,其初始值取決於當前的系統時鐘。

random函式用於獲取隨機數。

它有兩種呼叫形式:

random,返回乙個0到1之間(不包括1)的隨機實數;

random(n),返回0至n之間(不包括n)的隨機整數,n為word型別整數。

另外,system單元中隨機種子變數的識別符號為randseed,你也可以手動修改它。隨機數在資訊學奧林匹克中可用於隨機化搜尋、窮舉等演算法,以優化其效能,也可用於在快速排序中選擇關鍵數,以使其快速排序演算法的信好最壞情況沒有固定的相應數列。如果你希望使用了隨機數的程式對同乙個輸入資料能有恆定的輸出結果,可以設定randseed為乙個定值。

random(10000)

取出來隨即數之後,lz只要再自己寫乙個函式,將數字轉換為字元,並在前面補零並判斷這個字元是否已經存在就可以了。

ps:如何判斷就要看你是怎樣存的,存在**了。

什麼是隨機快速排序

7樓:福喜

隨機選擇快速排序是一種比較常見的優化快速排序的方法,即隨機選取乙個元素作為主元,而不是像普通快速排序那樣選取第乙個元素作為主元,這種情況下雖然最壞情況仍然是o(n^2),但最壞情況不再依賴於輸入資料,而是由於隨機函式取值不佳。

實際上,隨機化快速排序得到理論最壞情況的可能性僅為1/(2^n)。所以隨機化快速排序可以對於絕大多輸入資料達到o(nlogn)的期望時間複雜度。

c 中生成隨機數時的種子問題,關於C 的隨機數的種子的設定問題

上上西 先糾正一下錯誤,是srand unsigned int time 0 srand的形參是unsigned int型別的 這句話只要寫一次,一般情況下只能寫一次 隨機數是隨機的數,但計算機不可能產生隨機數,計算機根據你的輸入,再跟一個演算法就產生一個特定的序列.只要你給計算機一個相同的數,計算...

用VC 生成 1, 1的隨機數

source bits rand 2 2 1 解讀 rand 2產生 隨機數,2 1使之變為 1和1.int i i rand 2 i 0或者1if i return 1 elsereturn 1 就是隨機出來 1或1。include include include include include ...

怎麼用c 生成指定隨機數,在c 裡怎麼弄隨機數?

滄海雄風 include include include using namespace std int main srand unsigned time null 初始化時間種子 int ret rand 3 產生 0 1 2 三種隨機數 int real pow 2,ret 2的0次方 1 2的...