zoukankan      html  css  js  c++  java
  • 6.19

    shift:从集合中把第一个元素删除,并返回这个元素的值。

    unshift: 在集合开头添加一个或更多元素,并返回新的长度

    push:在集合中添加元素,并返回新的长度

    pop:从集合中把最后一个元素删除,并返回这个元素的值。

    栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

    栈是限定仅在表头进行插入和删除操作的线性表。

     队列

    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

    js数组的sort排序的原理和应用 

    1、js sort()方法的应用:

    首先:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

    如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

    若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

    若 a 等于 b,则返回 0。

    若 a 大于 b,则返回一个大于 0 的值。

    例1:

    <script>  

      var numArr = new Array(12,23,1,4,23,34,2,5);  

      numArr.sort(function compare(a,b){return a-b;});  

      for (var i = 0; i<numArr.length; i++) {  

        document.write(numArr[i] +"<br>");  

      }  

    </script>

    这一段代码显示结果: 正序!1 ,2,4,5,12,23,23,34

    例二:

    <script>  

      var numArr = new Array(12,23,1,4,23,34,2,5);  

      numArr.sort(function compare(a,b){return b-a;});  

      for (var i = 0; i<numArr.length; i++) {  

        document.write(numArr[i] +"<br>");  

      }  

    </script>

    这一段代码显示结果: 倒序!34,23,23,12,5,4,2,1

    这说明正序倒序的结果和sort()方法函数中的参数位置有关。

    2js sort()方法的原理:

    冒泡排序法。

    例:

    1var arrA = [6,2,4,3,5,1];

    2 arrA.sort();

    这个排序这进行两两比较.

    比如你这个数组按升序排列var arrA = [6,2,4,3,5,1];

    第一次比较6,2

    6比2大得到2,6

    原数组变成[2,6,4,3,5,1]

    第2次比较第2个和第3个数,6和4.

    6比4大,得到4,6

    结果[2,4,6,3,5,1]

    第3次比较第3个和第4个数6和3.

    得到[2,4,3,6,5,1]

    第4次[2,4,3,5,6,1]

    第5次[2,4,3,5,1,6]

    第一轮完毕

    第二轮

    第6次,2比4小,不变[2,4,3,5,1,6]

    第7次[2,3,4,5,1,6]

    第8次4比5小,不变[2,3,4,5,1,6]

    第9次[2,3,4,1,5,6]

    第三轮

    第10次 2比3小,不变[2,3,4,1,5,6]

    第11次 3比4小,不变[2,3,4,1,5,6]

    第12次 [2,3,1,4,5,6]

    第4轮

    第13次 2比3小,不变[2,3,1,4,5,6]

    第14次 [2,1,3,4,5,6]

    第5轮 

    第15次[1,2,3,4,5,5]

    同理可知后续过程。

    3、随机排列的写法

    arr.sort

        (

            function ()

            {

                return Math.random()<0.5?1:-1;

            }

        );

    split用法:

    定义和用法

    split() 方法用于把一个字符串分割成字符串数组。

    语法

    stringObject.split(separator,howmany)

    参数

    描述

    separator

    必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

    howmany

    可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

    返回值

    一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

    但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

    提示和注释

    注释:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

    注释:String.split() 执行的操作与 Array.join 执行的操作是相反的。

  • 相关阅读:
    红黑树
    二叉搜索树
    散列表
    基本数据结构
    顺序统计量
    RabbitMQ一些实用方法
    (转)elasticsearch连接不到head插件解决方案
    (转)如何优雅的使用rabbit mq
    (转)elasticsearch6.0版本安装head插件
    Rabbit MQ一些参数解释
  • 原文地址:https://www.cnblogs.com/czfzm/p/7052563.html
Copyright © 2011-2022 走看看