程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 算法之直接選擇排序

算法之直接選擇排序

編輯:C++入門知識

直接選擇排序(Straight Select Sorting) 也是一種簡單的排序方法,它的基本思想是:第一次從R[0]~R[n-1]中選取最小值,與R[0]交換,第二次從R{1}~R[n-1]中選取最小值,與R[1]交換,...., 第i次從R[i-1]~R[n-1]中選取最小值,與R[i-1]交換,.....,第n-1次從R[n-2]~R[n-1]中選取最小值,與R[n-2]交換,總共通過n-1次,得到一個按排序碼從小到大排列的有序序列.   c語言實現如下: [cpp]   #include <stdio.h>      //打印數組   void display(int array[],int size){           printf("the array is:");           int i;           for(i=0;i<size;i++){                   printf("%d ",array[i]);           }           printf("\n");   }      //直接選擇排序   void sort(int array[],int size){           int i,j,small,temp;           for(i=0;i<size;i++){           //將i假設為最小的                   small = i;           //從i+1開始遍歷,找到最小的但是比i大的數的下標                   for(j=i+1;j<size;j++){                           if(array[j]<array[small]){                                   small = j;                           }                   }           //將i和找到的最小的數交換                   temp = array[i];                   array[i] = array[small];                   array[small] = temp;                      display(array,size);           }   }      int main(void){           int array[10]={34,45,1,39,21,68,65,100,4,51};           display(array,10);       //直接選擇排序           sort(array,10);           return 0;   }      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved