java的冒泡排序和快速排序

来源:互联网 发布:阿里云web一键安装包 编辑:程序博客网 时间:2024/05/08 10:32

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

</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>


1 0
原创粉丝点击