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

做购物网站流程网站要怎么创建

做购物网站流程,网站要怎么创建,北京网站制作网站优化,怎么做交互式网站#x1f397;️ 主页#xff1a;小夜时雨 #x1f397;️专栏#xff1a;快速排序 #x1f397;️如何活着#xff0c;是我找寻的方向 目录 1. 题目解析2. 代码 1. 题目解析 题目链接: https://leetcode.cn/problems/sort-an-array/ 我们上道题讲过快速排序的核心代码️ 主页小夜时雨 ️专栏快速排序 ️如何活着是我找寻的方向 目录 1. 题目解析2. 代码 1. 题目解析 题目链接: https://leetcode.cn/problems/sort-an-array/ 我们上道题讲过快速排序的核心代码建议先看一下这道题颜色分类 https://leetcode.cn/problems/sort-colors/description/ 快速排序的核心代码区间就是数组分三块, 所以还是十分重要的, 接下来我们再来分析一下分块这个过程 i 作为基准 key , 用三个变量分别标记, i 标记遍历原数组的位置, left 标记 0 区域的最右边位置, right 标记右边 2 区域最左边的位置.i 遍历数组, nums[i] key 时, 交换 left 1 和 i 位置的值, i;碰见 key 的, 直接 i;nums[i] key 时, 交换 right - 1 和 i 位置的值, 此时注意没有 i, 仍要进行判断 i 位置的值(详情看颜色分类这道题: https://leetcode.cn/problems/sort-colors/description/ 接下来我们来说一下快速排序的实现过程 快速排序具体实现过程 首先我们先确定一个 key作为基准进行比较.三个变量进行标记, 分别是 i 标记原数组遍历的位置, left 标记 key 区域的最右边位置, right 标记 key 区域的最左边位置.i 遍历原数组, nums[i] key 时, 交换 left 1 和 i 位置的值, 之后 i, left;nums[i] key 时, i, 不做任何交换nums[i] key 时, 交换 right - 1 和 i 位置的值, 之后 right - 1, 注意 i 不变这个之后把数组分成了三块, 中间一块都是等于 key 的不用处理, 之后递归处理左边区域和右边区域, 也都是同样的处理方式, 就是递归. (看后续的代码更容易理解). 看下面的分析图可能会更容易理解 关于 key 的选择, 我们用随机的方式选择基准元素最好, 分三块的思想当全部元素都一样的时候, 此时只需遍历一遍就可以排好数组了. 也就是说我们想让整体有序先把数组分为三块, 左边是小于 key 的区域, 中间是等于 key 的区域, 右边是大于 key 的区域. 这样是一个大致有序的数组了以左区间为例得先让左区间进行有序让左区间有序就得让左区间进行划分, 分成三块, 之后左边区间又逐渐有序了.就这样一直划分下去直到划分不了区间就是有序了, 那么这个时候左边区间就是已经排好序了, 右边区间同理.我们发现这个过程其实有点像是二叉树的前序遍历, 前让中间区域有序(类比是根节点), 之后再是左区间, 右区间有序.归并排序有点像是二叉树的后序遍历左右区间有序之后类比先遍历左右子树合并之后整体才会有序遍历根节点。 2. 代码 看下面的代码对照着上面的流程解析可能会更加的清楚。 // 快速排序public int[] sortArray3(int[] nums) {int n nums.length;// 传入下标qsort(nums, 0, n - 1);return nums;} /*** l r 表示下标 要排序的下标* * param nums* param l* param r*/private void qsort(int[] nums, int l, int r) {// 循环终止条件if(l r) return;// 数组分三块, 不是从 0 开始 因为要划分好多次// left 表示小于 key 的最右侧 right 表示大于 key 的最左侧int left l - 1, right r 1, i l;// 随机生成 key, 注意这个位置 nextInt(r - l 1) l 别忘了加 lint key nums[new Random().nextInt(r - l 1) l];// 数组分三块 核心代码while(i right) {if(nums[i] key) swap(nums, i, left);else if (nums[i] key) i;else swap(nums, i, --right);}// 分完之后 再分左侧的和右侧的qsort(nums, l, left);qsort(nums, right, r);}private void swap(int[] nums, int i, int j) {int temp nums[i];nums[i] nums[j];nums[j] temp;} 归并排序: https://blog.csdn.net/Jin__Wang/article/details/139811604 ️️️ 好啦到这里有关本题的分享就没了如果感觉做的还不错的话可以点个赞关注一下你的支持就是我继续下去的动力我们下期再见拜了个拜~ ☆*: .. o(≧▽≦)o ..:*☆
http://www.hkea.cn/news/14537549/

相关文章:

  • 淄博品质网站建设wordpress 4.4.8
  • 网站logo图标海原电商网站建设
  • 济宁网站建设优化亿峰棋牌网站开发工程师
  • 购物商城外贸网站建设包装公司网站模板下载
  • 国家城乡与住房建设部网站佛山网站建设兼职
  • 做cps的网络文学网站wordpress作者插件
  • 上城区建设局网站南昌高端模板建站
  • 南宁网站建设设计seo优化排名百度教程
  • 设计响应式网站多少钱e4a怎么做点击跳转网站
  • 网站建设秋实绍兴 网站建设
  • 老榕树智能建站系统做网站的app
  • 网站开发工程师工资hangq建立网站心得
  • 制作网站的步骤有哪些教育培训机构排名前十
  • 建筑公司网站源码 开源 免费视频网站开发代码
  • 网站网址查询ip怎么做搜索功能网站
  • 西安做网站商城的公司汽油最新价格
  • 上海自助模板建站如何卸载和重装wordpress
  • 公司和公司网站的关系wordpress移除评论
  • 网站怎么做下载连接网上企业名称预先核准系统
  • 唐山网站制作公司网站私信界面
  • 临汾网站建设河北省工程造价信息网
  • 廊坊优化网站排名icp许可证
  • 广州知名网站推广服装生产厂商网站建设方案
  • 常州网站建设平台seo优化软件有哪些
  • 个人网站搭建模拟感想wordpress登陆后查看
  • 网站图标ico网站运营包括哪些内容
  • 建设网站的公司济南兴田德润o简介图片外贸怎么做公司网站
  • 软件公司网站模板下载网站后台登录模板
  • 一篇网站设计小结网络组建拓扑图
  • 做视频的网站带模板下载wordpress静态化经验