当前位置: 首页 > news >正文

湖北网站建设 鄂 icp长春seo顾问

湖北网站建设 鄂 icp,长春seo顾问,荣添网站建设优化,开网站做代发快速排序使用分治的思想和递归。先选择第一个元素作为中间数,把小于中间数的元素放在其左边,大于中间数的元素放在其右边。再对中间数的两边两个子数组分别用上述方法递归处理,直到所有元素排序完毕。时间复杂度在常见排序算法中最快&#xf…

快速排序使用分治的思想和递归。先选择第一个元素作为中间数,把小于中间数的元素放在其左边,大于中间数的元素放在其右边。再对中间数的两边两个子数组分别用上述方法递归处理,直到所有元素排序完毕。时间复杂度在常见排序算法中最快,是nlogn。

import java.util.Arrays;public class QuickSort {/*** 递归1* @param array* @param start* @param end*/public static void quickSortByRecursive1(int[] array, int start, int end){if(array != null && array.length > 1 && start < end){int location = getPivotLocation(array, start, end);quickSortByRecursive1(array, start, location - 1);quickSortByRecursive1(array, location + 1, end);}}private static int getPivotLocation(int[] array, int start, int end){int pivot = array[start];while(start < end){while(start < end && pivot <= array[end]){end--;}array[start] = array[end];while(start < end && array[start] <= pivot){start++;}array[end] = array[start];}array[start] = pivot;return start;}/*** 递归2* @param array* @param start* @param end*/public static void quickSortByRecursive2(int[] array, int start, int end){if(array != null && array.length > 1 && start < end){int left = start;int right = end;int pivot = array[start];while(left < right){while(left < right && pivot <= array[right]){right--;}while(left < right && array[left] <= pivot){left++;}if(left < right){int temp = array[left];array[left] = array[right];array[right] = temp;}}array[start] = array[left];array[left] = pivot;quickSortByRecursive2(array, start, left - 1);quickSortByRecursive2(array, left + 1, end);}}public static void main(String[] args){int[] array = {5,4,3,2,1};quickSortByRecursive2(array, 0, array.length - 1);System.out.println(Arrays.toString(array));}
}

Go语言

func getPivotLocation(array [] int, begin int, end int) int {var pivot = array[begin]for begin < end {for pivot <= array[end] && begin < end {end--}array[begin] = array[end]for array[begin] <= pivot && begin < end {begin++}array[end] = array[begin]}array[begin] = pivotreturn begin
}func quickSort(array [] int, begin int, end int) {if array != nil && len(array) >= 1 && begin < end {var p = getPivotLocation(array, begin, end)quickSort(array, begin, p - 1)quickSort(array, p + 1, end)}
}

http://www.lbrq.cn/news/2421883.html

相关文章:

  • 长春建设集团网站百度搜索引擎收录
  • 微信对接网站可以做301跳转吗今日百度小说排行榜风云榜
  • 西安高校定制网站建设公司推荐电商网站规划
  • 企业网站搭建哪家好新闻源发稿平台
  • 动软代码生成器 做网站网站百度不收录
  • 北京通州网站建设石家庄网络seo推广
  • 网站建设标准规范济南谷歌推广
  • 杭州企业网站优化哪家公司建设网站好
  • 衡水做网站开发的百度怎么发自己的小广告
  • 网站后台密码忘了怎么办今日头条新闻大事件
  • 上海网站建设lv cn在线bt磁力搜索
  • 做购物网站哪种服务器好整合营销经典案例
  • 做任务兼职赚钱的网站有哪些链网
  • 电商网站开发文献汇总seo优化查询
  • 西安网站建站优化网站推广软件免费
  • 建站吧网站建设seo优化平台
  • 宝安最好的网站建设在线视频用什么网址
  • 网站做推广需要营业执照广东seo网站推广代运营
  • 建立网站的优势crm
  • 新鸿儒网站seo教程论坛
  • 社区做图网站北京网站推广排名服务
  • 上海电子通科技网站建设seoul怎么读
  • 兖州网站建设有没有自动排名的软件
  • 网站建设的产品类型是什么电脑培训网
  • 手把手做网站页面网站关键词怎么设置
  • 用别人的资源做网站营销策划品牌策划
  • 西宁做网站君博专注中国局势最新消息今天
  • 网站的设计分析ks数据分析神器
  • 云南建投第五建设有限公司网站百度指数数据官网
  • 南京网站开发公司哪家好电子商务营销的概念
  • MCU中的总线桥是什么?
  • 深入浅出理解 TCP 与 UDP:网络传输协议的核心差异与应用
  • Taro 网络 API 详解与实用案例
  • 【c++】leetcode5 最长回文子串
  • DBSCAN聚类算法
  • 相机标定(非ROS相机)