#include
#include
#include
#define n 100
//資料個數
#define u 1000
//資料個數
int data[n]
;//存放資料的陣列
int comp_count =0;
// 資料比較次數
int swap_count =0;
// 資料交換次數
//新增隨機數到陣列
void
add_data
(int
*data)
//展示排序前陣列
void
show
(int
*data)
//展示排序後的陣列、比較次數和交換次數
void
show_ok
(int
*data)
//交換元素
void
exchange
(int
*a,int
*b)//選擇排序
void
selection
(int
*data)
exchange
(&data[i]
,&data[min]);
}}intmain()
產生N個隨機數,使用插入排序,對隨機數進行排序
include include include define n 100 資料個數 define u 1000 資料範圍 int data n 存放資料的陣列 int comp count 0 資料比較次數 int swap count 0 資料交換次數 新增隨機數到陣列 void add data...
產生n個不重複的隨機數
這是最容易想到的方法,逐個產生這些隨機數,每產生乙個,都跟前面的隨機數比較,如果重複,就重新產生。可以使用hashtable或陣列標記,這種方法效率比較低,且比較次數呈線性增長,越往後次數越多。所謂 篩選法 就是根據要產生隨機數指定的範圍 起始數必須小於終止數 將這些數全部裝入乙個陣列,然後利用系統...
使用sys guid產生隨機數
今天同事需要建立乙個由36位的隨機數字,中間用一些 分割。沒有什麼好的方法,於是就問我。我也想了想,如何是最簡潔最快速呢?好像oracle沒有乙個這樣可以產生指定位數的純數字的函式。想到了sys guid 函式,專門用來產生32位的隨機數,不過中間包括一些大寫的英文本母。於是就想使用這個函式加上tr...