https://mp.weixin.qq.com/s/vn3KiV-ez79FmbZ36SX9lg
10大排序算法见上链接。
package sort;
import java.util.Arrays;
class Sort{
public int[] selectsort(int[] a) {
//选择排序
//首先在未排序序列中找到最大元素,存放到排序序列的末尾位置
//再从剩余未排序元素中继续寻找最大元素,然后放到已排序序列的前面。
// 重复第二步,直到所有元素均排序完毕。
int arr[] = Arrays.copyOf(a, a.length);
//1,3,2,4,2,6,7,8,9,6
for(int i =0 ;i<arr.length-1;i++) {
int j;
int p = 0;
for(j = 1;j<arr.length-i;j++) {
if(arr[p]<arr[j]) {
p = j;
}
int temp = arr[j];
arr[j] = arr[p];
arr[p] = temp;
}
}
return arr;
}
public int[] maopao(int[] a) {
int arr[] = Arrays.copyOf(a, a.length);
//假如有10个数,循环9次即可排完序,一次比较 相邻的一对。
for(int i = 0;i<arr.length-1;i++) {
//假如有10个数,j第一次的范围为0~9;
for(int j = 0; j<arr.length - i -1 ;j++) {
if(arr[j]>arr[j+1]) {
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
}
public class SortClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Sort sort = new Sort();
int[] b = sort.maopao(new int[] {1,3,2,4,2,6,7,8,9});
for(int a : b) {
System.out.println(a);
}
}
}