首页 > 代码库 > 六种常见排序算法的java实现
六种常见排序算法的java实现
package edu.cn.ysw; //八种排序算法的实现与效率分析 /* * 内排序的种类: * 1.插入排序:直接插入排序、希尔排序。 * 2.选择排序:简单选择排序、堆排序。 3.交换排序:冒泡排序、快速排序。 4.归并排序 5.基数排序 */ public class SortedMethods { /** * @author ysw * @param args * @throws Exception * @since 6/15/2017 */ // 直接插入排序:1.有哨兵;2.无哨兵 // 无哨兵 public void insertSortWithoutPre(int arr[]) { if (arr == null || arr.length == 0) { return; } // 外层循环定义排序次数 for (int i = 1; i < arr.length; i++) { // 不满足条件则忽略此次判断,相当于continue; if (arr[i] < arr[i - 1]) { int tempValue = http://www.mamicode.com/arr[i];","); } } System.out.println(); } // 交换数组的元素 public void swap(int arr[], int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public static void main(String[] args) { SortedMethods sMethods = new SortedMethods(); // 测试需要的数组 int array1[] = { 1, 2, 3, 4, 5 }; int array2[] = { 5, 4, 3, 2, 1 }; int array3[] = { 4, 5, 2, 1, 7 }; int array4[] = null; int array5[] = new int[0]; // 测试无哨兵的插入排序 System.out.println("--------有哨兵插入排序--------------"); sMethods.insertSortWithoutPre(array1); sMethods.printArr(array1); sMethods.insertSortWithoutPre(array2); sMethods.printArr(array2); sMethods.insertSortWithoutPre(array3); sMethods.printArr(array3); /* * sMethods.insertSortWithoutPre(array4); sMethods.printArr(array4); * sMethods.insertSortWithoutPre(array5); sMethods.printArr(array5); */ System.out.println("--------无哨兵插入排序------------"); // 测试有哨兵的插入排序 sMethods.insertSortWithoutPre(array1); sMethods.printArr(array1); sMethods.insertSortWithoutPre(array2); sMethods.printArr(array2); sMethods.insertSortWithoutPre(array3); sMethods.printArr(array3); System.out.println("----------希尔排序------------"); // 测试希尔排序 sMethods.shellSort(array1); sMethods.printArr(array1); sMethods.shellSort(array2); sMethods.printArr(array2); sMethods.shellSort(array3); sMethods.printArr(array3); System.out.println("---------简单选择排序------------"); sMethods.selectSort(array1); sMethods.printArr(array1); sMethods.selectSort(array2); sMethods.printArr(array2); sMethods.selectSort(array3); sMethods.printArr(array3); System.out.println("---------冒泡排序------------"); sMethods.bubbleSort(array1); sMethods.printArr(array1); sMethods.bubbleSort(array2); sMethods.printArr(array2); sMethods.bubbleSort(array3); sMethods.printArr(array3); System.out.println("---------快速排序------------"); sMethods.quickSort(array3, 0, array3.length - 1); sMethods.printArr(array3); System.out.println("---------归并排序排序------------"); sMethods.mergeSort(array3); sMethods.printArr(array3); } }
六种常见排序算法的java实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。