Maplewing

5/7 C: sort

May 6th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.89 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.     int array[5] = {5, 3, 4, 2, 1};
  5.    
  6.     /* 輸出陣列 */
  7.     /*
  8.     int i;
  9.     for( i = 0 ; i < 5 ; i++ ){
  10.         printf("%d ", array[i]);
  11.     }
  12.     printf("\n");
  13.     */
  14.    
  15.     /* 選擇排序法 */
  16.     /* 先決定要排的位置是哪裡 */
  17.     int i; /* i: 要排的位置 */
  18.     for( i = 0 ; i < 5 ; i++ ){
  19.         /* 1. 找出i之後位置裡面數字最小的是誰 */
  20.         int minIndex = i;
  21.         int j;
  22.         for( j = i + 1 ; j < 5 ; j++ ){
  23.             if( array[j] < array[minIndex] ){
  24.                 minIndex = j;
  25.             }
  26.         }
  27.        
  28.         /* 2. 最小的數字跟位置i上面的數字做交換 */
  29.         int temp = array[i];
  30.         array[i] = array[minIndex];
  31.         array[minIndex] = temp;
  32.        
  33.         /* 輸出陣列 */
  34.         /*
  35.         for( j = 0 ; j < 5 ; j++ ){
  36.             printf("%d ", array[j]);
  37.         }
  38.         printf("\n");
  39.         */
  40.     }
  41.    
  42.     /* 輸出陣列 */
  43.     for( i = 0 ; i < 5 ; i++ ){
  44.         printf("%d ", array[i]);
  45.     }
  46.     printf("\n");
  47.    
  48.     return 0;
  49. }
Add Comment
Please, Sign In to add comment