1.插入排序
package com.zld;
public class InsertSort {
public static void main(String[] args) {
int [] arr={1,5,3,90,70,2,4,3};
insertSort(arr);
for(int a:arr){
System.out.print(a+"\t");
}
}
public static void insertSort(int[] arr){
for(int i=1;i<arr.length;i++){
for(int j=0;j<i;j++){
if(arr[i]<arr[j]){
int tem=arr[i];
arr[i]=arr[j];
arr[j]=tem;
}
}
}
}
}
2.选择排序
public static void selectSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int tem=arr[i];
arr[i]=arr[j];
arr[j]=tem;
}
}
}
}
3.冒泡排序
public static void bubbleSort(int[] arr){
for (int i=arr.length-1;i>0;i--){
for (int j=0;j<arr.length-1;j++){
if(arr[j]>arr[j+1]){
int tem=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tem;
}
}
}
}
4.计数排序
public static void countSort(int[] arr){
int max=0;
for (int a:arr) {
if(max<a){
max=a;
}
}
int[] newArr=new int[max+1];
for(int a:arr){
newArr[a]++;
}
for(int i=0;i<newArr.length;i++){
for(int j=0;j<newArr[i];j++){
System.out.println(i);
}
}
}
5.快速排序
public static void quikSort(int[] arr, int left, int right) {
if (left < right) {
int index = getIndex(arr, left, right);
quikSort(arr,left,index-1);
quikSort(arr,index+1,right);
}
}
public static int getIndex(int[] arr, int left, int right) {
int tem = arr[left];
while (left < right && arr[right] > tem) {
right--;
}
if (left < right) {
arr[left] = arr[right];
}
while (left < right && arr[left] < tem) {
left++;
}
if (left < right) {
arr[right] = arr[left];
}
arr[left] = tem;
return left;
}