1、快速排序
package com.entity;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={5,2,6,7,1};
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
快速排序法,它只能按从小到大排序。
2、冒泡排序
它的原理,依次比较相邻的两个数,按从小到大来排序,将小数放在前面,大数放在后面。即在第一遍:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。
package com.entity;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={5,2,6,7,1};
for (int i = 0; i < arr.length-1; i++) {
for (int j =0; j < arr.length-1-i; j++) { //这个j-1-i要注意
if(arr[j]<arr[j+1]){ //这个小于的话是从大到小排序,如果是大于是从小到大排序
int a=arr[j]; //这里相当于找了个替身
arr[j]=arr[j+1];
arr[j+1]=a;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
结果
3、选择排序
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
package com.entity;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={5,2,6,7,1};
//从小到大
for (int i = 0; i < arr.length-1; i++) {
int max=i; //如果max是等于i的话且下面arr[max]是>arr[j]的,则是从小到大排序
for (int j = i+1; j < arr.length; j++) {
if(arr[max]>arr[j]){
max=j;
}
if(max!=i){
int a=arr[i];
arr[i]=arr[max];
arr[max]=a;
}
}
}
//从大到小
// for (int i = 0; i < arr.length-1; i++) {
// int max=0;
// for (int j = i+1; j < arr.length; j++) {
// if(arr[max]<arr[j]){
// max=j;
// }
// if(max!=i){
// int a=arr[i];
// arr[i]=arr[max];
// arr[max]=a;
// }
// }
// }
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
4、插入排序
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。
从小到大
package com.entity;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={5,2,6,7,1};
for(int i=1;i<arr.length;i++){
for(int j=i;j>0;j--){
if (arr[j]<arr[j-1]){
int temp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;
}else break;
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
从大到小
把 if (arr[j]<arr[j-1])这个判断改成>符号就是从大到小排序
这些排序都是最基本的。比较简单。