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

做网站免费模板怎么上传到空间免费文件外链网站

做网站免费模板怎么上传到空间,免费文件外链网站,正规电商平台,武汉教育网站算法原理 丛待排序的数列中选择一个基准值,通过遍历数列,将数列分成两个子数列:小于基准值数列、大于基准值数列,准确来说还有个子数列:等于基准值即: 算法图解 选出基准元素pivot(可以选择…

算法原理

丛待排序的数列中选择一个基准值,通过遍历数列,将数列分成两个子数列:小于基准值数列、大于基准值数列,准确来说还有个子数列:等于基准值即:
在这里插入图片描述

算法图解

  1. 选出基准元素pivot(可以选择最左侧元素),设置两个指针(Java中可看成是数组索引)left和right,left指向数列最左边的元素,right指向最右侧元素
  2. 进行第一次遍历,先丛right指针开始,让其指向的元素和pivot作比较,大于或等于则指针向左移动一个位置,小于则停止移动,等待left指针移动
  3. 轮到left指针移动,同样先让left指向的元素和pivot做比较,小于或等于则指针向右移动,大于则停止移动
  4. 此时left和right都停止移动,判断left和right是否在同一个位置,否则交换位置元素。
  5. 继续丛2开始,直至left和right相交,将pivot值与left指向的元素进行交换,第一次遍历结束,获得分区指针left。
  6. 再将两个子数列按照1到6的步骤继续执行,直至所有子数列排序完成。
    在这里插入图片描述

算法实现

public class QuickSort {public void sort(int []arr){doSort(arr,0,arr.length-1);}public void doSort(int []arr,int left,int right){if(left >= right){return;}int partitionIndex = partition(arr, left, right);doSort(arr,left,partitionIndex-1);doSort(arr,partitionIndex+1,right);}/*** 右指针先往左移动* @param arr* @param left* @param right* @return*/public int partition(int []arr,int left,int right) {int startIndex = left;int pivot = arr[startIndex];while (left < right) {while (left < right && arr[right] >= pivot) {right--;}while (left < right && arr[left] <= pivot) {left++;}if (left < right) {swap(arr, left, right);}}swap(arr, startIndex, left);return left;}private 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) {int arr[] = {9, 7, 1991, 27, -1, -10, 0,10,9,8,-1,27,-1, 2, 65, -100};new QuickSort().sort(arr);for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");}}

结果

在这里插入图片描述

分区实现2

  /*** 左指针先往右移动* @param arr* @param left* @param right* @return*/public int partition(int []arr,int left,int right){int startIndex = left;int pivot = arr[startIndex];while (left < right) {while (left < right && arr[left] <= pivot) {left++;}while (left < right&&arr[right] >= pivot){right --;}if(left < right){swap(arr,left,right);}}if(arr[left] >= pivot){swap(arr,startIndex,left-1);return left-1;}swap(arr,startIndex,left);return left;}
http://www.shuangfujiaoyu.com/news/34837.html

相关文章:

  • 购物网站订单状态模板企业查询天眼查
  • wordpress 鼠标 效果青岛关键词优化seo
  • 婚庆公司网站模板下载韩国vs加纳分析比分
  • 网站备案号的区别重庆seo网站推广优化
  • 如何做直播类网站电商网站订烟平台
  • 查看一个网站开发语言app下载推广
  • 有什么可以做任务赚钱的网站阿里云域名注册入口官网
  • wordpress 更好 知乎一个网站的seo优化有哪些
  • 域名对网站有什么影响推广计划书怎么写
  • 中国的网站建设数据分析网络优化工程师前景如何
  • aspcms上传到虚拟主机后打开网站苏州seo网站优化软件
  • 网络营销的主要工作有哪些百度推广账户优化
  • 电商网站建设与管理 教案模板建站平台
  • 新疆兵团建设网站某个网站seo分析实例
  • 做网站打算套用模板aso优化注意什么
  • 推广赚钱的平台爱站工具seo综合查询
  • 注册个网站怎么注册上海seo推广
  • 手机网站建设推荐seo整站优化推广
  • 更换网站程序百度问问首页登录
  • 淘客网站开发源代码太原网络推广价格
  • 一起做彩票网站的人seo模拟点击
  • 网站建设计划书 模板下载营销推广有哪些形式
  • 南昌高端网站建设杭州优化seo公司
  • 台州高端网站建设百度指数数据分析报告
  • 建行移动门户网站首页国际新闻界
  • 外链数是网站反向链接码seo 优化 工具
  • 小白如何做网站高端网站建设案例
  • 能买源码的网站有哪些百度推广竞价排名
  • 学校网站建设评审会议通知网络营销环境分析
  • 河南国安建设集团有限公司网站百度seo排名点击器app