我的Java学习之路(第十九天)------ 排序算法(冒泡排序、快速排序)

(参考:尚硅谷_宋红康_Java语言基础)

数组的冒泡排序

package de1;


public class Test2 {

public static void main(String[] args) {

	int[] arr=new int[] {-6,-3,0,1,3,5,9,56,58,99};
	for(int i=0;i<arr.length-1;i++) {
		for(int j=0;j<arr.length-i-1;j++) {
			 if (arr[j] > arr[j+1])
	            {
	                int buf = arr[j];
	                arr[j] = arr[j+1];
	                arr[j+1] = buf;
	            }
		}
		
	}
	for(int x:arr) {
		System.out.print(x+" ");
	}
}
}

数组的快速排序

package de1;


public class Test2 {
	private static void swap(int[] data,int i,int j) {
		int temp = data[i];
		data[i] = data[j];
		data[j] = temp;
	}
	
	public static void subsort(int[] data,int start,int end) {
		if(start < end) {
			int base = data[start];
			int low = start;
			int high = end + 1;
			while(true) {
				while(low < end && data[++low] - base <=0)
					;
				while(high > start && data[--high] - base >=0)
					;
				if(low < high) {
					swap(data,low,high);
				}else {
					break;
				}
				swap(data,start,high);
				
				subsort(data,start,high-1);
				subsort(data,high+1,end);
			}
		}
	}
	public static void quicksort(int[] data) {
		subsort(data,0,data.length-1);
	}
	public static void main(String[] args) {
		int[] data = {-9,-16,30,85,45,14,12,2,-9,-85,6,9};
		System.out.println("排序前:\n"+java.util.Arrays.toString(data));
		quicksort(data);
		System.out.println("排序后:\n"+java.util.Arrays.toString(data));
	}
}

发布了50 篇原创文章 · 获赞 66 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/solitudi/article/details/104157135