代码很容易理解,所以在这里只贴代码了......
</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>