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>
相关文章推荐
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- Java算法排序之--冒泡排序、快速排序
- 使用JAVA直观感受快速排序与冒泡排序的性能差异
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- 必须知道的八大种排序算法【java实现】(一) 冒泡排序、快速排序
- 必须知道的八大种排序算法【java实现】(一) 冒泡排序、快速排序
- 最简单之Java实现冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序(转载请注明出处)
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- 排序算法——交换排序(冒泡排序、快速排序)(java)
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现) .
- Java实现四种排序:桶排序,冒泡排序,选择排序,快速排序
- java实现冒泡排序,插入排序,选择排序,快速排序
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- 【JAVA基础】②关于冒泡排序和快速排序
- Java排序算法总结之(二)——基于交换排序(冒泡排序、快速排序)
- Java---快速排序与冒泡排序的比较