#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
insertion
(int
*data,
int len)
comp_count++
; data[j+1]
= a;}}
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或陣列標記,這種方法效率比較低,且比較次數呈線性增長,越往後次數越多。所謂 篩選法 就是根據要產生隨機數指定的範圍 起始數必須小於終止數 將這些數全部裝入乙個陣列,然後利用系統...
Go語言排序演算法之插入排序與生成隨機數詳解
前言 排序,對於每種程式語言都是要面對的。這裡跟大家一起分享golang實現一些排序演算法,並且說明如何生成隨機數。下面話不多說了,來一起看看詳細的介紹吧。經典排序演算法 演算法的學習非常重要,是檢驗乙個程式設計師水平的重要標準。學習演算法不能死記硬背,需要理解其中的思想,這樣才能靈活應用到實際的開...