首页 > 代码库 > 冒泡,快排代码+注释
冒泡,快排代码+注释
冒泡:
package Sort;public class BubbleSort { public static void main(String[] args) { int[] list = new int[]{12,14,3,24,1,33}; int[] nums = bubbleSort(list); for(int i = 0;i< list.length;i++){ System.out.println(nums[i]); } } public static int[] bubbleSort(int[] nums){ int n = nums.length; for(int i= 0;i<n;i++){ for(int j= i+1;j<n-i-1;j++){ int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; } } return nums; }}
快排:
package Sort;public class QuickSort { public static void main(String[] args) { int[] unsortedList = new int[] { 49, 38, 65, 97, 76, 13, 27, 49 }; quickSort(unsortedList, 0, 7); for (int i = 0; i < unsortedList.length; i++) { System.out.println(unsortedList[i]); } } public static void quickSort(int[] unsortedList, int low, int high) { if (low < high) {// 只有一个元素时,退出 int k = partition(unsortedList, low, high); quickSort(unsortedList, low, k - 1); quickSort(unsortedList, k + 1, high); } } /** * nums进行一次以pivot为界限的分割 * * @param nums * @param low * @param high * @return */ public static int partition(int[] nums, int low, int high) { // 定义pivot,存储pivot,定义low high if (low == high) return low; int pivot = nums[low]; // low==high时,停止本趟partition while (low < high) { // 定义low,high,从high开始寻找比pivot小的数,放进坑里 while (low < high && nums[high] >= pivot) high--; nums[low] = nums[high]; // 从low开始寻找比pivot大的数,放进坑里 while (low < high && nums[low] <= pivot) low++; nums[high] = nums[low]; } nums[low] = pivot; return low; }}
冒泡,快排代码+注释
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。