目的,用最少的代碼,干最大的事,歡迎在評論區曬出自己的最少代碼量的排序程序- int temp = 0, max = 0; //定義兩個中間變量
- int arr[] = { 0,5,3,9,1,2,4,6,7,8,978,45,34,22 }; //要排序的數組
- for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) //外循環次數要小于數組長度
- {
- for (int j = 0; j < (sizeof(arr) / sizeof(arr[0])) - i; j++) //
- {
- if (arr[j] >= max) //找到每次循環的中的最大數
- {
- max = arr[j]; //記錄最大數
- temp = j; //記錄產生最大數,位于數組的位置
- }
- }
- max = arr[sizeof(arr) / sizeof(arr[0]) - i - 1]; //將數組最后一個值,臨時賦值給
- arr[sizeof(arr) / sizeof(arr[0]) - i - 1] = arr[temp]; // 讓數組最后一個值,等于在內循環中找到的最大值
- arr[temp] = max; //在內循環中找到的最大值的位置等于 MAX
- max = 0; //讓 max等于0,進入下一次的內循環
- }
- //打印值看一下了
復制代碼
|
|