简单排序
原理
个人理解:
开始先拿第一个元素和之后的每个元素比较大小,然后和整个数组中最小的元素交换位置,接着第二个元素开始和它之后的每个元素比较大小,然后和除第一个外最小的元素交换位置,以此类推,共比较次数:(元素个数-1) 次。
标准解释:
取出第一个元素依次与其后的每个元素比较,若大于则交换位置在第一次排序完成后第一个元素存放的就是数组中的最小值
取出第二个元素依次与其后的每个元素比较,若大于则交换位置在第二次排序完成后第二个元素存放的就是数组中的次小值
继续第三次排序,依次类推…
已经排过序的元素不需要再次参加排序
代码实现
测试:
/**
* 排序前:3,9,7,5,1,6
* 第一趟:1,9,7,5,3,6
* 第二趟:1,3,7,5,9,6
* 第三趟:1,3,5,7,9,6
* 第四趟:1,3,5,6,9,7
* 第五趟:1,3,5,6,7,9
* 排序后:1,3,5,6,7,9
*/
public static void main(String[] args) {
int[] array = {3,9,7,5,1,6};
printArray(array);
System.out.println("--------------");
select(array);
printArray(array);
}
设置数组遍历输出的方法:
public static void printArray(int[] array) {
for(int i:array) {
System.out.print(i+" ");
}
System.out.println();
}
设置简单排序方法:
public static void select(int[] array) {
for(int i=0;i<array.length-1;i++) {
for(int j=i+1;j<array.length;j++) {
if(array[j]<array[i]) {
int temp = array[j];
array[j] = array[i];
array[i] = temp;
}
}
}
}
运行结果: