c語言之選擇排序算法

一丶什麼是選擇排序?算法

選擇排序(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; }}

相關文章
相關標籤/搜索