直接选择排序算法
Created|Updated
|Post Views:
主要思想
把数往后放
从大到小的话,就把小的放后面
从小到大的话,就把大的放后面
图示

方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #include<stdio.h> int main() { int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; for(int i = 1; i < 10; i++) { int index = 0; for(int j = 1; j <= 10 - i; j++) { if(arr[j] < arr[index]) index = j; } temp = arr[index]; arr[index] = arr[10 - i]; arr[10 - i] = temp; } printf("从大到小:\n"); for(int i = 0; i < 10; i++) printf("%d ", arr[i]);
return 0; }
|
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| package 直接选择排序;
public class 直接选择排序 { public static void main(String[] args) { int arr[] = new int[] {25, 22, 30, 04, 13}; int temp; for (int i = 1; i < arr.length; i++) { int index = 0; for (int j = 1; j <= arr.length - i; j++) { if (arr[j] > arr[index]) { index = j; } } temp = arr[index]; arr[index] = arr[arr.length - i]; arr[arr.length - i] = temp; } for (int a : arr) System.out.print(a + " "); }
}
|