你想对数据进行排序,有许多算法可以实现排序
在这里,我给大家介绍排序算法之一的排序算法
假设你分别有4号小球,8号小球,1号小球,5号小球,9号小球,7号小球
你想使用排序算法对它们进行排序
选择排序的思想是,用第一个数据,分别和其它所有数据进行对比
接着是第二个数据...然后第三...第四...
初始顺序: 4,8,1,5,9,7
第一次排序:4和8进行对比,1,5,9,7
第二次排序:4再和1比 其它数据不变
1,8,4,5,9,7
第三次排序:4再和5比 其它数据不变
1,8,4,5,9,7
第四次排序:4再和9比 其它数据不变
1,8,4,5,9,7
......
当4和除了自己之外的所有数据比较完成了之后,
接着第二的数据就开始对除了小于或者等于自己索引的数据之外的数据进行比较
以此类推...
public void selection_sort(int[] array){
int temp; //设置变量,为数组数据交换做准备
for (int i = 0; i < array.length; i++) {
for (int j = i+1; j < array.length; j++) {
if(array[i] > array[j]){ //每次都和大于自己的索引的数据作比较
temp = array[i]; //如果符合条件,则让两个数交换位置
array[i] = array[j];
array[j] = temp;
}}
}
}
该链接是本人对于二分查找法的理解,配合二分查找法,能够更高效实现对于数据的操作
以上是本人对于排序算法的理解,如有不妥之处,还望各位大佬指出
谢谢