產生N個隨機數,使用選擇排序,對隨機數進行排序

2021-10-09 02:29:26 字數 708 閱讀 7477

#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...