冒泡、选择、插入、快速排序

2021-03-12 03:30

阅读:340

标签:顺序   imp   复杂   独立   ati   适用于   数列   oid   gen   

package paixu;
import java.util.Random;

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		
		int[] a={34,45,6,3,1,3,534,456,3};
		int[] b;
	
		b=maopao(a);
		System.out.println("冒泡排序:");
		for(int c:b){
			System.out.print(c+",");
		}
		
		b=xuanze(a);	
		System.out.println();
		System.out.println("选择排序:");
		for(int c:b){
			System.out.print(c+",");
		}
		
		b=charu(a);	
		System.out.println();
		System.out.println("插入排序:");
		for(int c:b){
			System.out.print(c+",");
		}
		
		b = quickSort(a,0,a.length-1);
		System.out.println();
		System.out.println("快速排序:");
		for(int c:b){
			System.out.print(c+",");
		}
		
		b = quickSort2(a,0,a.length-1);
		System.out.println();
		System.out.println("快速排序2:");
		for(int c:b){
			System.out.print(c+",");
		}
		
	}
//	冒泡排序
    /**  
     * 依次比较相邻的两个数,将小数放在前面,大数放在后面  
     * 冒泡排序,具有稳定性  
     * 时间复杂度为O(n^2)  
     * 不及堆排序,快速排序O(nlogn,底数为2)  
     * @author liangge  
     *  
     */ 
	public static int[] maopao(int[] a){
		
		for(int i=0;ii;j--){
				if(a[j] 0; j--) {
				if(a[j]=r)
	       return null;

	     int i = l; int j = r; int key = a[l];//选择第一个数为key

	     while(i=key)//从右向左找第一个小于key的值
	             j--;
	         if(i key && j > start) {   
                j--;   
            }   
            while (sort[i]  j) {   
            int temp = sort[j];   
            sort[j] = sort[start];   
            sort[start] = temp;   
        }   
        //递归调用   
        if (j > start && j 

冒泡、选择、插入、快速排序

标签:顺序   imp   复杂   独立   ati   适用于   数列   oid   gen   

原文地址:https://www.cnblogs.com/dutf/p/14090586.html


评论


亲,登录后才可以留言!