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

网站有备案是正规的吗天津港建设公司官网

网站有备案是正规的吗,天津港建设公司官网,正规的企业网站建设,第三方物流网站建设目录 题目1-思路-快排1-1 快排的核心思想快速排序算法步骤优美的调整区间 1-2 ⭐快排的实现 2- 实现⭐912. 排序数组——题解思路 3- ACM 实现 题目 原题连接:912. 排序数组 1-思路-快排 1-1 快排的核心思想 选择一个基准 基准左侧的元素都小于该元素基准右侧的元…

目录

  • 题目
  • 1-思路-快排
    • 1-1 快排的核心思想
      • 快速排序算法步骤
      • 优美的调整区间
    • 1-2 ⭐快排的实现
  • 2- 实现
    • ⭐912. 排序数组——题解思路
  • 3- ACM 实现

题目

  • 原题连接:912. 排序数组

1-思路-快排

1-1 快排的核心思想

  • 选择一个基准
    • 基准左侧的元素都小于该元素
    • 基准右侧的元素都大于该元素

image.png

快速排序算法步骤

  • ① 确定分界点:
    • 方式有三种:第一种取左边界点 q[ l ];第二种取中间点q[ l+r ];第三种取右边界点q[ r ];随机
  • ② 调整区间(★难点)
    • 使得左半边区间内的数都小于等于 x ;右半边区间内的数都大于等于 x
  • ③ 递归
    • 递归处理左右两段

优美的调整区间

  • 用两个指针分别指向数组的左边和右边,两个指针同时往中间走。
  • 如果指针 i 指向的数组的元素值小于 x ,则指针 i 向右移动一位,以此类推一直往下移动,直到指针 i 所指向的某个元素的值 大于等于 x,此时指针 i`` 停下不动。
  • 同理此时移动指针 j ,若指针 j 指向的元素的值大于等于 x 则指针 j 便向左移动,直到移动到 j 所指向的值小于等于 x

766AC1FD4EB24C2579F850B29BD8E35B.png

  • 当两个指针都停下来的时候,swap 交换两个指针指向的数,之后两个指针继续往中间走,以此类推直到两个指针相遇为止。

1-2 ⭐快排的实现

在这里插入图片描述

    public void quickSort(int[] nums,int left,int right){if(right<=left) return;// 定义 int i = left-1;int j = right+1;int x = nums[(i+j)/2];while(i<j){do{i++;}while(nums[i]<x);do{j--;}while(nums[j]>x);if(i<j){int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}}quickSort(nums,left,j);quickSort(nums,j+1,right);}

2- 实现

⭐912. 排序数组——题解思路

在这里插入图片描述

class Solution {public int[] sortArray(int[] nums) {quickSort(nums,0,nums.length-1);return nums;}public void quickSort(int[] nums,int left,int right){if(right<=left) return;// 定义 int i = left-1;int j = right+1;int x = nums[(i+j)/2];while(i<j){do{i++;}while(nums[i]<x);do{j--;}while(nums[j]>x);if(i<j){int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}}quickSort(nums,left,j);quickSort(nums,j+1,right);}
}

3- ACM 实现

public class quickSort {public static void quickSort(int[] nums,int left,int right){if(right<=left) return;// 定义int i = left-1;int j = right+1;int x = nums[(i+j)/2];while(i<j){do{i++;}while(nums[i]<x);do{j--;}while(nums[j]>x);if(i<j){int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}}quickSort(nums,left,j);quickSort(nums,j+1,right);}public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("输入数组长度");int n = sc.nextInt();int[] nums = new int[n];for(int i = 0 ;i < n;i++){nums[i] = sc.nextInt();}quickSort(nums,0,nums.length-1);System.out.println("排序结果为");for (int i:nums){System.out.print(i+" ");}}
}
http://www.yayakq.cn/news/727675/

相关文章:

  • 蓬莱建设管理局网站宁波外贸公司招聘
  • 吉安市网站建设朔州企业网站建设公司
  • 二级域名网站建设做网站在哪里找客户
  • 重庆的推广网站黑科技软件网站
  • 适合美工的设计网站中网的官方网站
  • 网站版面如何在手机上自己制作软件
  • 可以做c oj的网站wordpress媒体库过滤
  • 保山企业网站建设权威发布新冠疫苗接种禁忌
  • 深圳教育 网站建设个人flash网站源码
  • 在源码之家下载的网站模板可以作为自己的网站吗wordpress 后台速度优化
  • 建设 网站工作汇报vx网页版
  • 手机网店开店网站西安网站托管公司招聘
  • 医院网站建设策划书分级会员管理系统网站开发
  • 通辽做网站0475seo个人网站模板怎么做
  • 深圳优秀网站设计宁波网站设计方案
  • 怎么把自己的网站上传到百度wordpress添加+下载
  • 网站建设的安全措施企业标准化体系建设流程
  • 手机网站html模板注册商标查询网
  • 外贸网站建设盲区wordpress压缩图片
  • .net做网站c#企业做网站设计
  • 手机网站用什么后台网页模板下载后怎么用
  • 企业网站运营怎么做租房网站
  • 重庆市建设安全监督站的网站用户注册页面html代码
  • python建设网站网站运营企业
  • ps拼合网站截图怎么做中国医生电影网络营销推广方法
  • 完美建设工程有限公司网站域名怎么起
  • 美食怎么做的小视频网站昆山做网站怎么做
  • 从零开始自己做外贸网站和海外网络营销个人养老保险2023价格表
  • 试述建设一个网站的具体步骤百度学术官网入口网页版
  • 淘宝网的网站设计特色怎么做淘宝客优惠劵网站