在说排序方法前先说说排序吧!
排序的目的是把一组杂乱无序的元素,通过某种运算,按照从小到大,或者从大到小有序的显示出来.
选择排序是排序方法中常用的一种方法.它是通过(取出-比较-放回)这样的过程把无序的元素有序排列.
选择排序在数组中的应用
将数组中的第一个元素取出,和第二个元素比较,如果第一个元素的值比第二个元素的值大,则把第二个元素放在第一个元素的位置,反之,则放回原来位置,和后面的元素依次比较,直到找出最小值,将最小值放在第一个位置上,也就是0索引处,然后进行第二轮比较,直到有序排列结束.
核心代码:
//数组元素的索引
for(int x=0;x<arr.length-1;x++) {
for(int y=x+1;y<arr.length;y++) {
//判断,如果上一个数比下一个数大, 小的数放在第一个数的位置
if(arr[y] < arr[x] ) {
int temp = arr[x] ;
arr[x] = arr[y] ;
arr[y] = temp ;
}
}
整体代码如下:
public class chooseTest {
public static void main(String[] args) {
int[] arr = {13,43,5,68,9,34,56};
//遍历数组元素
System.out.println("遍历:");
printArray(arr);
//选择排序
for(int x=0;x<arr.length-1;x++) {
for(int y=x+1;y<arr.length;y++) {
//判断,如果上一个数比下一个数大, 小的数回去
if(arr[y] < arr[x] ) {
int temp = arr[x] ;
arr[x] = arr[y] ;
arr[y] = temp ;
}
}
}
System.out.println("选择排序后的结果:");
printArray(arr);
}
//数组遍历
public static void printArray(int[] array) {
//打印左边的中括号
System.out.print("[");
//循环遍历数组中数据
for(int x=0;x<array.length;x++) {
//判断是否遍历到最后一位数
if(x == array.length-1) {
//是,则输出所有的元素以及右边的中括号
System.out.print(array[x]+"]");
}else {
//不是,则输出中间遍历到的元素以及符号","
System.out.print(array[x]+",");
}
}
System.out.println();
}
}