您的位置:首页 > 编程语言 > Java开发

java的冒泡排序和快速排序

2014-09-26 09:46 302 查看

代码很容易理解,所以在这里只贴代码了......

</pre><pre name="code" class="java"><span style="font-size:18px;">package com.mytest;

import java.util.Arrays;

public class SortTest {

	//冒泡排序
	public static void _sort(int a[])
	{
		int temp = 0;
		int flag = 0;
		for(int i = 0; i < a.length; i ++)
		{
			for(int j = a.length - 1; j > i; j --)
			{
				if(a[j] < a[j-1])
				{
					temp = a[j];
					a[j] = a[j - 1];
					a[j - 1] = temp;
					flag = 1;
				}
			}
			if(flag == 0)  break;
		}
	}
	
	//快速排序  
	public static void quick_sort(int s[], int l, int r)  
	{  
	    if (l < r)  
	    {  
	        //Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换可实现将中间的数作为基准数  
	        int i = l, j = r, x = s[l];  //将s[l](不是1,是单次left的l)作为基准数
	        while (i < j)  
	        {  //先从右向左找(顺序不能变)
	            while(i < j && s[j] >= x) // 从右向左找第一个小于x的数  
	                j--;    
	            if(i < j)   
	                s[i++] = s[j];  
	              
	            while(i < j && s[i] < x) // 从左向右找第一个大于等于x的数  
	                i++;    
	            if(i < j)   
	                s[j--] = s[i];  
	        }  
	        s[i] = x;  
	        quick_sort(s, l, i - 1); // 递归调用   
	        quick_sort(s, i + 1, r);  
	    }  
	}  
	
	public static void main(String[] args) {
		
		int[] a = {5,7,1,3,4,9,8};
		System.out.println("排序前:"+Arrays.toString(a));
		SortTest._sort(a);
		System.out.println("冒泡排序后:"+Arrays.toString(a));
		SortTest.quick_sort(a,0,6);
		System.out.println("快速排序后:"+Arrays.toString(a));
		
	}
}
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐