排序 算法 常用的三种
//冒泡排序
public int[] getSort(int []arr){
for (int i = 0; i <arr.length ; i++) {
for (int j = 0; j <arr.length-1-i ; j++) {
if(arr[j]>arr[j+1]){
int temp;
temp= arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
//查询排序
public int[] getSort1(int []arr){
for (int i = 0; i <arr.length ; i++) {
//查询的只都是最小的
int min =i;
int temp;
for (int j = min+1; j <arr.length ; j++) {
if (arr[min]>arr[j]) {
temp=arr[min];
arr[min]=arr[j];
arr[j]=temp;
}
}
}
return arr;
}
//插入排序
public int[] getSort2(int []arr){
for (int i = 1; i <arr.length ; i++) {
//插入排序 从1的位置开始插入,插入的数字前面的都要比他小
for (int j = i; j >0; j--) {
if(arr[j]<arr[j-1])
{
int temp;
temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
return arr;
}
测试
public static void main(String[] args) {
int []arr= {1,3,4,2,3,1};
MySortDemo demo = new MySortDemo();
int[] sort = demo.getSort2(arr);
for (int i = 0; i <sort.length ; i++) {
System.out.print(arr[i]);
}
}