Java实现交换排序 之 冒泡排序和快速排序
2017-02-22 14:17
555 查看
Java实现交换排序 之 冒泡排序和快速排序
冒泡排序import java.util.Arrays; /** * 冒泡排序算法 */ /** * @author 16026 * */ public class BubbleSort { /** * 冒泡排序 * * @param array * 输入一个无序整型数组 */ static void bubbleSort(int[] array) { int len = array.length; for (int i = 1; i < len; i++) { for (int j = 0; j < len - i; j++) { if (array[j] > array[j + 1]) { //交换次序 int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } } public static void main(String [] args){ int [] array = {89,58,68,47,58,9,59,58}; bubbleSort(array); System.out.println(Arrays.toString(array)); } }
快速排序
import java.util.Arrays; /** * 快速排序算法 */ /** * @author 16026 * */ public class QuickSort { /** * * @param array * 整形数组 * @param low * 数组起始坐标 * @param high * 数组结尾坐标 */ public static void sort(int[] array, int low, int high) { int i = low; int j = high; if (i > j) return; // 选定第一个元素作为支点 int index = array[low]; //开始扫描 while (i < j) { //从右往左寻找比支点小的元素 while (i < j && index <= array[j]) j--; if (i < j) { array[i++] = array[j]; } //从左往右寻找比支点大的元素 while (i < j && index >= array[i]) i++; if (i < j) { array[j--] = array[i]; } } //至此,一次循环结束,下面对分支进行递归循环 //支点记录到位 array[i] = index; sort(array,low,i-1);//对左分支进行递归 sort(array,i+1,high);//对右分支进行递归 } public static void main(String [] args){ int [] array = {78,89,58,46,52,512,8,56,58}; sort(array,0,array.length-1); System.out.println(Arrays.toString(array)); } }
相关文章推荐
- java实现排序算法之交换排序(冒泡排序和快速排序)
- 程序员必知的8大排序(二)-------冒泡排序,快速排序(java实现)
- 交换排序之冒泡排序(java实现)
- 最简单之Java实现冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序(转载请注明出处)
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- java实现冒泡排序,选择排序,直接插入排序,快速排序
- 交换排序------冒泡排序(实现Java)
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- 交换排序—快速排序(Quick Sort)原理以及Java实现
- java实现各种排序算法(包括冒泡排序,选择排序,插入排序,快速排序(简洁版))及性能测试
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- 排序算法--交换排序(冒泡排序、快速排序、随机快速排序)java实现
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- java实现交换排序之冒泡排序
- JavaSE第三十五讲:冒泡排序、交换排序及快速排序原理与实现
- java实现冒泡排序,插入排序,选择排序,快速排序
- java 交换排序之(冒泡排序、快速排序)
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- Java实现四种排序:桶排序,冒泡排序,选择排序,快速排序
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)