zoukankan      html  css  js  c++  java
  • 数组排序的方法

    sort()对数组排序,不开辟新的内存,对原有数组元素进行调换
    // 1、简单数组简单排序 .sort()
    // var arrSimple = [1,8,7,6,11]
    // function order(value1,value2){
    // return value1-value2;
    // }
     
    // console.log( arrSimple.sort(order))



    // 冒泡排序:两两比较,以升为例,一直比到最后一项
    // splice()
    // 参数1:index:正数 删除的位置,负数从结尾开始算
    // 参数2:必须,要删除的数量,设置为0不会删除项目
    // 参数3:可选,向数组中添加新的项目
    // var arr = [1,8,9,2,7,6]
    // function bubblesort(arr){
    // for(var i=arr.length-1;i>0;i--){
    // for(var j=0;j<i;j++){
    // if(arr[j]>arr[j+1]){
    // var temp = arr[j]
    // arr.splice(j,1,arr[j+1])
    // arr.splice(j+1,1,temp)
    // }
    // }
    // }
    // return arr;
    // }



    // 选择排序:将当前未确定的模块中的max和min取出来插到最前面或者后面
    // var arr = [1,8,9,11,2,7,6]
    // function bubblesort(array){
    // for(var i=0;i<arr.length;i++){
    // var min = arr[i]
    // var minIndex = i
    // for(var j = i+1;j<arr.length;j++){
    // if(min>arr[j]){
    // min = array[j];
    // minIndex = j;
    // }
    // }
    // arr.splice(i,0,min);
    // arr.splice(minIndex+1,1)
    // console.log(arr)
    // }
    // return arr;
    // }



    // 插入排序:选择已经排好序的数组,与之相对比,直到找到小于他的一项,将其插入到这项前面
    // function inserSort(arr){
    // var start = 1;
    // for(var i=start;i<arr.length;start++,i++){
    // for(j=0;j<start;j++){
    // if(arr[i]<=arr[j]){
    // arr.splice(j,0,arr[i])
    // arr.splice(i+1,1)
    // break;
    // }
    // }
    // }
    // }
    // 快速排序
    // var times=0;
    // var arr = [1,3,9,2,5,8,13]
    // var quickSort=function(arr){
    // //如果数组长度小于等于1无需判断直接返回即可
    // if(arr.length<=1){
    // return arr;
    // }
    // var midIndex=Math.floor(arr.length/2);//取基准点
    // var midIndexVal=arr.splice(midIndex,1);//取基准点的值,splice(index,1)函数可以返回数组中被删除的那个数arr[index+1]
    // var left=[];//存放比基准点小的数组
    // var right=[];//存放比基准点大的数组
    // //遍历数组,进行判断分配
    // for(var i=0;i<arr.length;i++){
    // if(arr[i]<midIndexVal){
    // left.push(arr[i]);//比基准点小的放在左边数组
    // console.log(left +'-----------1111111111111')
    // }
    // else{
    // right.push(arr[i]);//比基准点大的放在右边数组
    // console.log(right+'----------------22222222222222')
    // }
    // console.log("第"+(++times)+"次排序后:"+arr);
    // }
    // //递归执行以上操作,对左右两个数组进行操作,直到数组长度为<=1;
    // return quickSort(left).concat(midIndexVal,quickSort(right));
    // var arr1 = quickSort(left).concat(midIndexVal,quickSort(right));
    // console.log(arr1)
    // };
    // console.log(quickSort(arr));
    for(i=0;i<5;i++){
    setTimeout(function(){
    console.log(i)
    },1000)
    }
    // function makeFn(){
    // var num = 0;
    // function f(){
    // num++;
    // console.log(num);
    // }
    // return f;
    // }
    // var func = makeFn();
  • 相关阅读:
    mysql_数据查询_嵌套查询
    mysql_数据查询_连接查询
    大白_uva10795_新汉诺塔
    codeforces_731C_[dfs][并查集]
    Ajax+asp.net实现用户登陆 转自http://www.shangxueba.com/jingyan/2933319.html
    entity framework 中一些常用的函数 转自http://www.cnblogs.com/williamzhu/
    转自新浪博客的网页运作原理
    一些ASP.NET的小知识点
    。。
    .NET
  • 原文地址:https://www.cnblogs.com/lzq035/p/7930599.html
Copyright © 2011-2022 走看看