一丶什麼是選擇排序?算法
選擇排序(Selection sort)是一種簡單直觀的排序算法。
它的工做原理是每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始置,直到所有待排序的數據元素排完。
選擇排序是不穩定的排序方法(好比序列[5,5,3]第一次就將第一個[5]與[3]交換,致使第一個5挪動到第二個5後面)。
數組
2、實現思想ide
1)用第一個數與其餘數比較,若是其餘數比第一個數大就交換,否則就不換spa
100 34 2 16 87 98 19 23 第一個數和第二個至最後一個比較排序
2)第一個數已經肯定了,用第二個數和其餘數比較,仍是比第二個數大就交換it
100 98 2 16 87 34 19 23 第二個數和第三個至最後一個比較io
3)第三次比較選出第三大的數放在數組的第三個位置class
100 98 87 16 2 34 19 23原理
. 程序
.
.
以此類推,最後獲得結果:100 98 87 34 23 19 16 2
3、c語言程序代碼
#include<stdio.h>void Xueze(int *a,int n);int main(void) { int k; int a[10]={2,4,6,8,0,1,3,5,7,9}; for(k=0;k<10;k++) { printf("%d ",a[k]); } printf("\n"); Xueze(a,10); for(k=0;k<10;k++) { printf("%d ",a[k]); } printf("\n"); return 0;}void Xueze(int *a,int n){ int i,j,t,min; for(i=0;i<n-1;i++) { min=i; for (j=i+1;j<n;j++) { if(a[j]<a[min]) { min=j; } } t=a[i]; a[i]=a[min]; a[min]=t; }}