1. 程式人生 > >java面試筆試冒泡排和快速排序

java面試筆試冒泡排和快速排序

public static void 冒泡sort(int[] arr) {
		int[] list = { 1, 0, 2, 9, 4, 6, 3 };
		Boolean boo = true;

		for (int i = 1; i < list.length && boo; i++) {
			boo = false;
			for (int k = 0; k < list.length - i; k++) {
				if (list[k] > list[k + 1]) {
					int temp = list[k];
					list[k] = list[k + 1];
					list[k + 1] = temp;
				}
			}
		}

	}
public static List<Integer> quicksort(List<Integer> number){
		if(number.size()<2){
			return number;
		}
		
		final Integer piovt=number.get(0);
		final List<Integer> lower = new ArrayList<>();
	    final List<Integer> higher = new ArrayList<>();
		
	    for(int i=1;i<number.size();i++){
	    	if(number.get(i)<piovt){
	    		lower.add(number.get(i));
	    	}else{
	    		higher.add(number.get(i));
	    	}
	    }
	    
	    final List<Integer> sorted=quicksort(lower);
	    
	    sorted.add(piovt);
	    sorted.addAll(quicksort(higher));
	    
			return sorted;
	}