產生N個隨機數,使用插入排序,對隨機數進行排序

2021-10-09 02:29:26 字數 728 閱讀 8645

#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實現一些排序演算法,並且說明如何生成隨機數。下面話不多說了,來一起看看詳細的介紹吧。經典排序演算法 演算法的學習非常重要,是檢驗乙個程式設計師水平的重要標準。學習演算法不能死記硬背,需要理解其中的思想,這樣才能靈活應用到實際的開...