首页 > 代码库 > 四种简单的排序算法

四种简单的排序算法

package data;public class Sort {		String endline = System.getProperty("line.separator");	//选择排序	public void selectSort(int[] arr){		int len = arr.length;		int k;		int tmp;		for(int i = 0;i<len;i++){						for(int l:arr){				System.out.print(l+" ");			}			System.out.print(endline);			k= i;			for(int j =i;j<len;j++){				if(arr[j]<arr[k]){					k=j;							}			}		    tmp= arr[i];			arr[i]=arr[k];			arr[k]=tmp;		}	}		//冒泡排序	public void popSort(int[] arr){				int len =arr.length;		int tmp;				for(int i=0;i<len;i++){						for(int l:arr){				System.out.print(l+" ");			}			System.out.print(endline);			for(int j=0;j<len-i-1;j++){				if(arr[j] > arr[j+1]){					tmp =arr[j];					arr[j] = arr[j+1];					arr[j+1] = tmp;				}				}		}		}		//insertSort插入排序	public void insertSort(int[] arr){		int len = arr.length;		int tmp;		for(int i =1;i<len;i++){			for(int l:arr){				System.out.print(l+" ");			}			System.out.print(endline);						for(int j =i;j>0;j--){				if(arr[j]<arr[j-1]){					tmp = arr[j-1];					arr[j-1] = arr[j];					arr[j] = tmp;									}				else{					break;					}										}		}		}			//shellSort希尔排序	public void shellSort(int[] arr){		int len = arr.length;		int tmp;		int k;						for(int l:arr){			System.out.print(l+" ");		}		System.out.print(endline);				for(int d =len/2;d >0; d /= 2 ){			for(int i =0;i<=d;i++){				for(int j=i+d;j<len;j +=d){					for(k = j;k>=d;k -=d){						if(arr[k]<arr[k-d]){							tmp = arr[k-d];							arr[k-d]=arr[k];							arr[k]=tmp;						}					}				}			}					for(int l:arr){				System.out.print(l+" ");			}			System.out.print(endline);					}	}}