阮一峰大神的快排?刚才还在纠结sort()的我!真是个小傻瓜
看到这个标题之后 我毫不犹豫的点进去了
趁现在不忙我赶紧把代码写到了我的小本本上好好研究研究 (写的就不放进来了 有点丑)
研究了下 第一反应 明明能用sort()解决的 为什么非要写这么一大串
但是我相信 肯定我是哪里出问题了 第一反应不是赶紧百度 而是亲手试了一下
当我们的数组都是一位数的时候 两种方法控制台打印出来的结果是一样的
但是 当我们数组中有两位数的时候
好了 你没看错 sort()这时候已经凌乱了 但是究竟是为什么呢 是什么让sort()乱了阵脚
不急 我们再来看看 当arr中有三位数的时候
好了 这时候你会发现 sort()的弊端
当arr中的数据是多位数的时候 它比较傻的只比较第一位数
如果有两个数字的第一位数字都是相同的 如图的123和156 你会发现 他开始比较第二位数字
好了 所以在你不确定自己的数组中的数字是几位数的时候就老老实实用大神的快排吧
希望能帮到宝宝们~~ 欢迎评价~ 谢谢大家!么么哒
(
Math.floor()//向下取整
arr.splice()//直接修改原数组,返回新数组
arr.splice(pivotIndex,1)[0] // 拿到我们截出来的那个数据 让arr中的所有数据都与之比较
)
阮一峰大神的快排?刚才还在纠结sort()的我!真是个小傻瓜的更多相关文章
- Flex布局(引用阮一峰大神)
Flex 布局教程:语法篇 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html Flex 布局教程:实例篇 http://www.ruan ...
- ES6 学习笔记(整理一遍阮一峰大神得入门文档,纯自己理解使用)
1.let命令 1)let和var的区别:let声明的变量只有所在的代码块有效. 2)没有变量的提升,一定要声明后使用.使用let命令声明变量之前,该变量都是不可用的.形成“暂时性死区”. 3)typ ...
- Java常见的几种排序算法-插入、选择、冒泡、快排、堆排等
本文就是介绍一些常见的排序算法.排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序.选择排序.冒泡排 ...
- 普林斯顿大学算法课 Algorithm Part I Week 3 重复元素排序 - 三路快排 Duplicate Keys
很多时候排序是为了对数据进行归类,这种排序重复值特别多 通过年龄统计人口 删除邮件列表里的重复邮件 通过大学对求职者进行排序 若使用普通的快排对重复数据进行排序,会造成N^2复杂度,但是归并排序和三路 ...
- Hints of sd0061(快排思想)
Hints of sd0061 Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- 记录一个基于Java的利用快排切分来实现快排TopK问题的代码模板
使用快排切分实现快排和TopK问题的解题模板 import java.util.Arrays; public class TestDemo { public static void main(Stri ...
- 结构体快排回顾(sort)
一般来说,我做竞赛的时候排序一般用快排 很快很方便 普通sort(从小到大) sort(a,a+n); 直接贴一段代码吧,包含了vector,sort,结构体等简单东西综合 #include < ...
- 关于阮大神的es6标准入门第一章
题记:之前在10月份的时候写过阮大神的es6的第一章,但是由于那段时间项目组的动荡,所以也没有什么后续,导致我现在对es6基本都忘的差不多了,不过,现在换了新公司,最近也没什么任务,所以现在开始重新写 ...
- 2018.4.24 快排查找第K大
import java.util.Arrays; /* 核心思想:利用快排思想,先假定从大到小排序,找枢纽,枢纽会把大小分开它的两边,当枢纽下标等于k时, 即分了k位在它左边或右边,也就是最大或最小的 ...
随机推荐
- Python之Eric安装注意事项
处理该问题: http://www.knowsky.com/950133.html 注意缺乏的是qscintilla 双击install.py进行安装
- Scrapy实战篇(二)之爬取链家网成交房源数据(下)
在上一小节中,我们已经提取到了房源的具体信息,这一节中,我们主要是对提取到的数据进行后续的处理,以及进行相关的设置. 数据处理 我们这里以把数据存储到mongo数据库为例.编写pipelines.py ...
- 层次softmax函数(hierarchical softmax)
一.h-softmax 在面对label众多的分类问题时,fastText设计了一种hierarchical softmax函数.使其具有以下优势: (1)适合大型数据+高效的训练速度:能够训练模型“ ...
- C#获取当前路径的七种方法
//1.获取模块的完整路径. string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; // ...
- vue仿淘宝结账订单
<template> <div class="container"> <div class="checkout-title"& ...
- HashMap的实现原理,以及在JDK1.7和1.8的区别
1.JDK1.7 HashMap是Java中大家最常用的一个map实现类,其为键值对也就是key-value的形式.他的数据结构则是采用的位桶和链表相结合的形式完成了,即拉链法.具体如下图所示: Ha ...
- 解决idea创建Maven项目卡在running tmp archetypexxxtmp
打开IDEA settings 然后在VM Options内添加-DarchetypeCatalog=internal 运行参数
- 面试回顾——List<T>排序
1.如何对List<T>排序: public static void main(String[] args) { Student stu1=new Student("张三&quo ...
- leetcode46
public class Solution { public IList<IList<int>> Permute(int[] nums) { IList<IList< ...
- thymeleaf注入springboot
thymeleaf注入springboot需要引入jar: <dependency> <groupId>org.springframework.boot</groupId ...