C語言 選擇排序

2021-10-12 23:03:17 字數 670 閱讀 5299

選擇排序

選擇排序設定乙個起始位置,將其後面未排序的元素進行比較,每選出乙個最小(大)的數字將其放在起始位置並將起始位置向後移動一位,直到起始位置移到最後一位。此時便完成了排序。

例如:

有陣列 12 8 3

起始位置為第乙個數字

第一次排序後:8 12 3

第二次:3 12 8

起始位置後的所有元素已經交換完,起始位置變為為第二個數字

第三次:3 8 12

結束**如下

//公升序排序

#include

void

swap

(int

* a,

int* b)

;void

rank

(int a,

int len)

;#define n 10

intmain()

void

swap

(int

* a,

int* b)

//將最小的數與起始位置交換

void

rank

(int a,

int len)}}

}

C語言 選擇排序

選擇排序 selection sort 是一種簡單直觀的 排序演算法 它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。選擇排序的主要優點與資料移動有關。如果...

c語言選擇排序

選擇排序 第一層迴圈從陣列第乙個元素到倒數第二個元素結束 即比較n 1趟 第二層迴圈元素項比第一層的基礎上增加且小於n 選擇排序是比較後前面固定,如果後面的元素比前面的元素大,就將後面的元素 賦給前面,大迴圈沒迴圈1次,就確定了陣列第乙個元素是最小的 include main for i 0 i 8...

c語言 選擇排序

選擇排序是一種基礎演算法,其方法也很簡單。核心思維就是選擇二字,比如在一組給定10個數字的陣列中。第一次選擇10個數字中最大的數字和最後乙個數字進行交換。第二次選擇前9個數字中最大的數字和倒數第二個數字進行交換。第三次選擇前8個數字中最大的數字和倒數第三個數字進行交換。以此類推,最後完成從小到大的排...