• 数组排序


    <script type="text/javascript">
    //1、选择排序
    /*var arr=[11,4,7,20,5,800,3,6,9];
    var temp;
    for(var i=0;i<arr.length;i++){
    var minIndex=i;//假设i的值为最小值的索引;
    for(var j=i+1;j<arr.length;j++){
    if(arr[j]<arr[minIndex]){//最小值的索引;
    minIndex=j;//
    }
    }
    if(i!=minIndex){//判断最小的索引是否等价于假设的索引。
    temp=arr[i];
    arr[i]=arr[minIndex];
    arr[minIndex]=temp;
    }
    }*/

     


    /*alert(arr);
    alert(arr.sort(function (a,b){
    return a-b;
    }));*/

    //选择排序(2)
    /*function selectSort(arr){
    var temp;
    for(var i=0;i<arr.length;i++){
    var minIndex=i;//假设i的值为最小值的索引;
    for(var j=i+1;j<arr.length;j++){
    if(arr[j]<arr[minIndex]){//最小值的索引;
    minIndex=j;//
    }
    }
    if(i!=minIndex){//判断最小的索引是否等价于假设的索引。
    temp=arr[i];
    arr[i]=arr[minIndex];
    arr[minIndex]=temp;
    }
    }
    return arr;
    }
    var arr=[11,4,7,20,5,800,3,6,9];
    alert(selectSort(arr));*/

    //插入排序
    /*var arr=[11,4,7,20,5,800,3,6,9];
    var temp;
    for(var i=0;i<arr.length;i++){
    var minIndex=i;//假设i的值为最小值的索引;
    var min=arr[minIndex];//最小值
    for(var j=i+1;j<arr.length;j++){
    if(arr[j]<min){//最小值的索引;
    temp=arr[j];
    arr[j]=min;
    min=temp;
    }
    }
    console.log(min);//3,4,5,6,7,9,11,20,800
    arr[i]=min;//i=0-8
    }
    alert(arr);*/


    //快速排序: 数组的方法(splice/push/concat)+递归+Math数学方法。
    //Math.floor();向下取整,Math.floor(1.99)==1
    //Math.ceil();向上取整,Math.ceil(1.009)==2
    /*function quicksort(array){
    if(array.length<=1){//如果数组的长度为1,返回当前的数组。
    return array;
    }
    var left=[];//存放小于中间值的元素;
    var right=[];//存放大于中间值的元素;
    var midIndex=Math.floor(array.length/2);//取中间的索引
    //var minValue=array[midIndex];
    var minValue=array.splice(midIndex,1);//取中间的索引对应的值。
    //var minValue=array.slice(midIndex,midIndex+1);
    for(var i=0;i<array.length;i++){
    if(array[i]<minValue){
    left.push(array[i]);
    }else if(array[i]>=minValue){//=相同的元素放置right数组里面。
    right.push(array[i]);
    }
    }

    return quicksort(left).concat(minValue,quicksort(right));

    }
    var arr=[11,4,4,4,4,4,7,20,9,9,9,9,5,800,3,6,4,9];

    alert(quicksort(arr));*/

    //数组去重(方法1)
    /*var arr=[11,4,4,4,4,4,7,20,9,9,9,9,5,800,3,6,4,9];
    var newarr=[];
    newarr.push(arr[0]);//newarr=[11,4];
    for(var i=1;i<arr.length;i++){
    var bstop=false;//不重复
    for(var j=0;j<newarr.length;j++){
    if(arr[i]==newarr[j]){
    bstop=true;//重复
    break;//跳出循环
    }
    }
    if(!bstop){
    newarr.push(arr[i]);
    }
    }
    alert(newarr);*/

    //数组去重(2)
    /*function norepeat(array){
    var newarr=[];
    newarr.push(array[0]);//newarr=[11,4];
    for(var i=1;i<array.length;i++){
    var bstop=false;//不重复
    for(var j=0;j<newarr.length;j++){
    if(array[i]==newarr[j]){
    bstop=true;//重复
    break;//跳出循环
    }
    }
    if(!bstop){
    newarr.push(array[i]);
    }
    }
    return newarr;
    }*/


    //var arr=[11,4,4,4,4,4,7,'a',9,9,9,9,5,800,3,6,4,9];
    //alert(arr.indexOf(4,7));//7代表数组的索引,开始查找的起始位置
    //indexOf() 第一个参数:数组的元素,返回元素对应第一个找到的索引, 第二个参数:从那个位置开始查找。

    //alert(arr.indexOf('b'));//-1 没有找到返回-1.
    /* var arr=[11,4,4,4,4,4,7,'a',9,9,9,9,5,800,3,6,4,9];
    var newarr=[];
    newarr.push(arr[0]);
    for(var i=1;i<arr.length;i++){
    if(newarr.indexOf(arr[i])==-1){
    newarr.push(arr[i]);
    }
    }
    alert(newarr);
    */
    </script>

  • 相关阅读:
    如何快速提高编程能力
    Django线上部署实战教程之Nginx+Gunicorn+Django篇
    Navicat for MySQL远程连接报10038的错误
    DjangoBlog部署教程
    用windows下的Anaconda搭建Django虚拟环境
    基础类型及相关操作
    格式化输出编码问题!
    初识python!
    Java学习之多线程二
    Java学习之多线程一
  • 原文地址:https://www.cnblogs.com/xuxiaoxia/p/6680402.html
Copyright © 2020-2023  润新知