数组排序算法
在程序设计中,常常需要将一组数列进行排序,方便我们查询还有统计。
下面通过直接选择排序、反转排序、还有冒泡选择排序这三种方式进行简单的一维数组排序。
直接选择排序
1.基本思想
直接选择排序就是给出排序位置,将指定排序位置与其它数组元素进行比较,如果满足条件就交换元素值。就好比给我们10个坑,然后依次排序从1到10,然后旁边有10个萝卜,分别是1到10号,我们要选出1号萝卜放进第一个坑,然后选2号萝卜放进第二个坑,依此类推,直到找到9,放到8的后面,最后剩下10,就不用选选择了,直接放到后面就好了。
2.算法实现
/**
直接选择排序算法
@author LiRunZe
*/
public class SelectSort{
public static void main(String[]args){
//创建一个数组,它的元素此时是乱序的
int[]arr ={
3,8,2,5,7,9};
//创建直接排序类的对象
SelectSort s=new SelectSort();
s.sort(arr);
s.printArray(arr);
}
//直接选择排序
public static void sort(int[]arr){
int index;
for(int i=1;i<arr.length;i++){
index=0;
for(int j=1;j<arr.length-1;j++){
if(arr[j]>arr[index]){
index=j;
}
}
//交换arr.length位置上和index(最大值)上的两个数
int temp