2013年8月26日 星期一

選擇排序


選擇排序


先找出陣列中最小的數字,再將他放置於最左的位置。

code:
#include <stdio.h>

int main()
{
    int r[10]={4,7,24,1,9,47,22,31,6,10};//宣告10個數字
    int i,k,tmp,small,no=0;//tmp用來暫存數字,small用來暫存目前最小數字,no用來儲存當前的序數。

    for(k=0;k<10;k++)
    {
        tmp=small=r[k];
        for(i=k+1;i<10;i++)
           if(small>r[i])
          {
              small=r[i];
              no=i;
          }
        if(small!=r[k])
       {
           r[k]=small;
           r[no]=tmp;
       }
   }
for(i=0;i<10;i++)
printf("%d\t", r[i]);// 印出 1 4 6 7 9 10 22 24 31 47

}

參考資料:排序演算法

沒有留言:

張貼留言