版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/weixin_43802738/article/details/86495390
概念:
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。
思路:
使用一个元素与其他的元素挨个比较一次,符合条件交换位置
代码实现:
public class test {
public static void main(String[] args) {
int arr[]= {21,3,43,5,7,1}; //定义数组
//遍历排序前的数组
System.out.print("排序前数组元素为:");
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]);
if(i<arr.length-1) { //除最后一个元素外,依次添加“,”进行分割
System.out.print(",");
}
}
System.out.println(); //换行
selectSort(arr); //调用selectSort()方法,并将实参arr数组传进去
}
public static void selectSort(int[] arr) {
for(int j=0;j<arr.length;j++) { //控制轮数
for(int i=0;i<arr.length-1;i++) { //每循环一次找出一个最值
//比较元素大小,此为从大到小排序,若想从小到大进行排序,只需改为 arr[i]>arr[j] 即可
if(arr[i]<arr[j]) {
//交换位置
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
//遍历排序后的数组,查看效果
System.out.print("排序后数组元素为:");
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]);
if(i<arr.length-1) { //除最后一个元素外,依次添加“,”进行分割
System.out.print(",");
}
}
}
}