1.选择排序的思想
- 跟冒泡排序相似,选择排序从下标i=0开始,j=0开始后面元素依次向后进行遍历,如果存在一个nums[j] > nums[i] 就进行交换(当然这是递减的一个数列),
2.具体代码实现
package com.cxy.SortingAlgorithm;
/**
- 选择排序
- 思想:
- 第一次从下标为0的开始下标为0的这个数与后面的n-1个进行比较;找出最小或者最大的放在下标为0的这个位置;第二次从下标为1的开始比较;查询剩下的最大或者最小值;放在
- 下标为1的位置;以此类推;直到排序完成
- /
public class SelectSort {
int[] arr = {1,2,4,2,0,7,3,3};
public int[] bubbleSort(){
for(int i = 0 ; i<arr.length ;i++){
for(int j = i; j < arr.length; j++){
//就只是这里的循环条件不同而已,判断条件也不相同
if(arr[j] < arr[i]){
swap(arr,i,j);
}
}
}
return arr;
}
public void swap(int[] nums, int index1,int index2){
nums[index1] = nums[index1] ^ nums[index2];
nums[index2] = nums[index1] ^ nums[index2];
nums[index1] = nums[index2] ^ nums[index1];
}
public static void main(String[] args) {
SelectSort sort = new SelectSort();
int[] bubbleSort = sort.bubbleSort();
for (int i : bubbleSort) {
System.out.println(i);
}
}
}
---
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1371769065@qq.com