现在的位置: 首页 > 综合 > 正文

java冒泡排序,选择排序,插入排序

2018年04月18日 ⁄ 综合 ⁄ 共 1341字 ⁄ 字号 评论关闭

冒泡排序:

冒泡排序原理:每次比较相邻的数,按升序或者降序进行比较并交换位置,每经过一轮排序,可以获得最大或者最小的数。
public class BubbleSort {
	
	public static void sort(int []arrays){
		int length = arrays.length;
		int [] temp =arrays ;
		for(int i =0 ; i <length-1 ; i++){
			
			for(int j =0; j<length-i-1 ; j++){
				if(temp[j]<temp[j+1]){
					exchange (j ,j+1 ,temp);
				}
			}
			
		}
		print(arrays);
	}
	
	public static void exchange(int i ,int j , int []arrays ){
		int temp =arrays[i];
		arrays[i] =arrays[j];
		arrays[j] =temp ; 
	}
	
	public static void print(int [] arr){
		for(int i =0 ; i <arr.length ; i++){
			System.out.print(arr[i]+" ");
		}
	}
	
	
	public static void main(String[] args) {
		int [] arrays ={32,13,43,54,123,2,43,21};
		BubbleSort.sort(arrays);
	//	BubbleSort.print(arrays);
		
	}
}


插入排序:

public class InsertSort {
	
	//升序
	public static	void insertAscSort(int[] arrs) {
		int length = arrs.length;

		for (int out = 1; out < length; out++) {
			int temp = arrs[out];
			int in =out ;
			while(in >0 && temp<arrs[in-1] ){
				arrs[in] =arrs[in-1];
				in--;
			}
			arrs[in] =temp;
		}

	}

	public static void main(String[] args) {
		int [] arrs ={23,4,566,45,232,13,5456,34};
		InsertSort.insertAscSort(arrs);
		for(int i : arrs){
			System.out.print( i +" ");
		}
	}
}

选择排序:


public class SelectSort {

	public static void selectAscSort(int[] arrs) {
		int length = arrs.length;
		for (int i = 0; i < length-1; i++) {
			int temp = i;
			for (int j = i + 1; j < length; j++) {
				if (arrs[temp] > arrs[j]) {
					temp = j;
				}
			}
			int a = arrs[temp] ;
			arrs[temp] =arrs[i];
			arrs[i] =a ;
		}

	}

	public static void main(String[] args) {
		int [] arrs ={23,4,566,45,232,13,5456,34};
		SelectSort.selectAscSort(arrs);
		for(int i : arrs){
			System.out.print( i +" ");
		}
	}
}




抱歉!评论已关闭.