精华内容
下载资源
问答
  • 给数组排序

    2011-11-03 20:48:04
    <!-- var s = [1,2,4,5,6,34,2323,234,54654,765765,443,32,12,3,] document.write("排序前:" + s + ""); s.sort(function(a,b){return a - b});//从小到大排序 document.write("排序后:" ...如果我们取数组的第
    <script type="text/javascript">
    	<!--
    	var s = [1,2,4,5,6,34,2323,234,54654,765765,443,32,12,3,]	
    	document.write("排序前:" + s + "<br>");
    	s.sort(function(a,b){return a - b});//从小到大排序
    	document.write("排序后:" + s + "<br>")
    	//-->
    </script>


    如果我们取数组的第一个元素也就是下标为0的值s[0]我们会得到数组中最小的数


    <script type="text/javascript">
    	<!--
    	var s = [1,2,4,5,6,34,2323,234,54654,765765,443,32,12,3,]	
    	document.write("排序前:" + s + "<br>");
    	s.sort(function(a,b){return b- a});//从大到小排序
    	document.write("排序后:" + s + "<br>")
    	//-->
    </script>

    如果我们取数组的第一个元素也就是下标为0的值s[0]我们会得到数组中最大的数
    展开全文
  • java中几种数组排序的方法:1、使用Arrays.sort()排序Arrays.sort()排序方法在java中是最简单且最常用的排序方法。int []arr1= {45,34,59,55};Arrays.sort(arr1);//调用方法排序即可Arrays.sort()的使用主要分为对...

    7a13cf6e2d87545302970c8d2859c016.png

    java中几种数组排序的方法:

    1、使用Arrays.sort()排序

    Arrays.sort()排序方法在java中是最简单且最常用的排序方法。int []arr1= {45,34,59,55};

    Arrays.sort(arr1);//调用方法排序即可

    Arrays.sort()的使用主要分为对基本数据类型数组的排序和对对象数组的排序。

    2、冒泡排序

    简单来说,冒泡排序就是重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。//array[]为待排序数组,n为数组长度

    void BubbleSort(int array[], int n)

    {

    int i, j, k;

    for(i=0; i

    for(j=0; j

    {

    if(array[j]>array[j+1])

    {

    k=array[j];

    array[j]=array[j+1];

    array[j+1]=k;

    }

    }

    }

    3、选择排序

    先找到最小元素所在位置的索引,然后将该元素与第一位上的元素进行交换。int arr3[]= {23,12,48,56,45};

    for(int i=0;i

    int tem=i;

    //将数组中从i开始的最小的元素所在位置的索引赋值给tem

    for(int j=i;j

    if(arr3[j]

    tem=j;

    }

    }

    //上面获取了数组中从i开始的最小值的位置索引为tem,利用该索引将第i位上的元素与其进行交换

    int temp1=arr3[i];

    arr3[i]=arr3[tem];

    arr3[tem]=temp1;

    }

    4、反转排序

    将原数组按逆序排列//将数组第i位上的元素与第arr.length-i-1位上的元素进行交换

    int []arr4={23,12,48,56,45};

    for(int i=0;i

    int tp=arr4[i];

    arr4[i]=arr4[arr4.length-i-1];

    arr4[arr4.length-i-1]=tp;

    }

    5、直接插入排序int []arr5={23,12,48,56,45};

    for (int i = 1; i < arr5.length; i++) {

    for (int j = i; j > 0; j--) {

    if (arr5[j - 1] > arr5[j]) {//大的放后面

    int tmp = arr5[j - 1];

    arr5[j - 1] = arr5[j];

    arr5[j] = tmp;

    }

    }

    }

    更多java知识请关注java基础教程栏目。

    展开全文
  • 简单概括就是:翻转子数组的方法给数组排序;思路挺简单的,随便写了一个,可以一起讨论哈哈package com.baorant; import java.util.Scanner; /* * 翻转子数组给数组排序 */ public class TranceDemo { ...

    同学给我发的一个笔试题:

    给定1到n的一个子序列,每次只能翻转里面的一个子数组,问最少需要几次翻转可以使得数组升序排列?

    简单概括就是:翻转子数组的方法给数组排序

    思路挺简单的,随便写了一个,可以一起讨论哈哈

    package com.baorant;
    
    import java.util.Scanner;
    
    /*
     * 翻转子数组给数组排序
     */
    public class TranceDemo {
    
    	public static void main(String[] args) {
    		
    //		//测试翻转函数
    //		int[] a ={1,3,4,5};
    //		int[] b = changePart(a, 1, 3);
    //		System.out.println("测试翻转函数:");
    //		for(int i = 0; i < b.length; i++){
    //			System.out.print(b[i] + " ");
    //		}
    //		System.out.println();
    		
    		Scanner sc = new Scanner(System.in);
    		int number = sc.nextInt();
    		int[] nums = new int[number];
    		for(int i = 0; i < number; i++){
    			nums[i]  = sc.nextInt();
    		}
    		
    		int count = sortByChangePart(nums);
    		System.out.println(count);
    	}
    	
    	//翻转子数组
    	public static int[] changePart(int[] nums, int begin, int end){
    		
    		int total = begin + end;
    		for(int i = begin; i < (begin + end)/2 + 1; i++){
    			int tem = nums[i];
    			nums[i] = nums[total - i];
    			nums[total - i] = tem;
    		}
    		return nums;
    	}
    	
    	//获取子数组最小值所在下标
    	public static int minPosition(int[] nums, int begin, int end){
    		int min = nums[begin];
    		int minPoint = begin;
    		for(int i = begin; i < end + 1; i++){
    			if(nums[i] < min){
    				min = nums[i];
    				minPoint = i;
    			}
    		}
    		return minPoint;
    	}
    	
    	//获取子数组最大值所在下标
    	public static int maxPosition(int[] nums, int begin, int end){
    		int max = nums[begin];
    		int maxPoint = begin;
    		for(int i = begin; i < end + 1; i++){
    			if(nums[i] > max){
    				max = nums[i];
    				maxPoint = i;
    			}
    		}
    		return maxPoint;
    	}
    	
    	//翻转子数组的方式给数组排序
    	public static int sortByChangePart(int[] nums){
    		int count = 0;
    		
    		int begin = 0;
    		int end = nums.length - 1;
    		
    		while(begin < end){
    			//找到最小值点,到起点位置进行翻转;
    			int minPoint = minPosition(nums, begin, end);
    			if(minPoint != begin){
    				changePart(nums, begin, minPoint);
    				count++;
    				begin++;
    			}
    			
    			//找到最大值点,到终点位置进行翻转;
    			int maxPoint = maxPosition(nums, begin, end);
    			if(maxPoint != end){
    				changePart(nums, maxPoint, end);
    				count++;
    				end--;
    			}
    		}
    		
    		return count;
    	}
    
    }
    


    展开全文
  • 数组排序文章估计阅读时间:6分钟1、选择排序选择最小的那个在这里插入图片描述vararr=[1,4,6,23,8,10];vartempfor(vari=0;i-1;i++){for(varj=i+1;jif(arr[i]>arr[j]){temp=arr[i];arr[i]=arr[j];arr[j]=temp;}.....

    数组排序

    29aa3299e777cc3923c1b550b5a21dcf.png

    文章估计阅读时间:6分钟

    29aa3299e777cc3923c1b550b5a21dcf.png
    154aa50e5f952b0cc08c47e6cf92c13a.png

    1、选择排序

    选择最小的那个

    cc0c25d207b66d9976ed5539be9e7364.png
    在这里插入图片描述
    var arr = [1,4,6,23,8,10];
    var temp
    for(var i=0;i-1;i++){for(var j=i+1;j    if(arr[i]>arr[j]){
          temp=arr[i];
          arr[i]=arr[j];
          arr[j]=temp;
        }
        }
    }console.log(arr)

    2、插入排序

    3d6bc2751213e33f32de882a55e60c82.png
    在这里插入图片描述
    var arr = [34,54,1,3,24,8,92,32];
    for(var i = 0;i  var n = i;
      while(arr[n]>arr[n+1] && n>=0){
        var tem =arr[n];
        arr[n]=arr[n+1];
        arrr[n+1]=temp;
        n--
      }
    }

    3、冒泡排序

    //性能一般
    var arr=[9,16,2,48,3];
    //冒泡排序,每一趟找出最大的,总共比较次数为arr.length-1次,每次的比较次数为arr.length-1次,依次递减
    var temp;
    for(var i=0;i-1;i++){for(var j=0;j-1;j++){if(arr[j]>arr[j+1]){
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }console.log(arr)
    718f3ffdb86f48839f21a94f1bacfd92.png
    在这里插入图片描述

    4、快速排序

    function quickSort(arr){
      if(arr.length <=1){
        return arr;
      }
      var left = [];
      var right = [];
      var midIndex = parseInt(arr.length /2);
      var mid = arr[midIndex];
      for(var i = 0;i    if(i == midIndex) continue;
        if(arr[i]       left.push(arr[i])
        }else{
          right.push(arr[i]);
        }
      }
      return quickSort(left).concat([mid],quickSort(right));
    }
    arr = [3,5,7,3,5,8,1,9,23,45,31]
    console.log(quickSort(arr));

    5、希尔排序

    48da08317c81d37c01bf55a11a2e2c3f.png
    在这里插入图片描述
    function xier(arr){
      var interval = parseInt(arr.length / 2);
      while(interval > 0){
        for(var i=0;i      var n=i;
          while(arr[n] 0){
            var temp = arr[n];
            arr[n] = arr[n-interval];
            arr[n-interval] = temp;
            n = n-interval 
          }
        }
        interval = parseInt(interval / 2);
      }
      return arr;
    }


    arr = [56,78,34,24,12,32,908]
    console.log(xier(arr));

    6、归并排序

    6267017418354e313d6a7df82ac0e1e2.png
    在这里插入图片描述
    function mergeSort(arr){
      const length = arr.length;
      if(length === 1){
        //递归算法的停止条件,即为判断数组长度是否为1
        return arr;
      }
      const mid = Math.floor(length /2);
      const left = arr.slice(0,mid);
      const right = arr.slice(mid,length);

      return merge(mergeSort(left),mergeSort(right));
      //将原始数组分割直至只有一个元素
    }

    function merge(left,right){
      const result = [];
      let il = 0;
      let ir = 0;
      //left,right本身肯定都是从小到大排好序的
      while(il     if(left[il]       result.push(left[il]);
          il++;
        }else{
          result.push(right[ir]);
          ir++;
        }
      }
      //要么left有剩余项要么right有剩余项,把剩余项加进来

      while(il     result.push(left[il]);
        il++;
      }
      while(ir     result.push(right[ir]);
        ir++;
      }
      return result;
    }

    arr = [1,9,6,86,12,2,59,10]
    console.log(mergeSort(arr))
    89c7ce16d56ab64c922581c523603291.png
    在这里插入图片描述

    7、sort数组排序

    var arr = [1,4,6,7,23,12]
    // arr.sort(function(a,b){
    //   return a-b;
    // })


    arr.sort((a,b)=>a-b)
    console.log(arr)

    8、sort 对象排序

    var arr = [
      {name:'sy',age:0},
      {name:'ly',age:12},
      {name:'dfy',age:3},
      {name:'cy',age:8},
    ];
    //判断对象的哪个属性
    function compare(pro){
      return function(a,b){
        var value1 = a[pro];
        var value2 = b[pro];
        return value1 - value2;
      }
    }

    arr.sort(compare('age'))
    console.log(arr)
    3114778fcf73131942e52abfbaa7e0ba.png

    1e54ec1f0325c875a10579827b1136ff.png

    展开全文
  • 出以下数组,并进行排序处理var arr = new Array('1','3','8','2','3','5');1、 插入法排序Array.prototype.csSort = function() {var newarr = this;/** 1、 插入法排序* 插入发排序,即那数组的后边一项和前面一...
  • public class BubbleDemo {public static void main(String[] args) {int arr[]={1,3,5,7,2,4,6,8,9};bubble(arr);}public static void bubble(int arr[]){for (int i = 0;... i++) { //从遍历数组...
  • 不使用algorithm库里的sort函数,自建函数给数组排序,包括从大到小,或者从小到大 这里用了设计了三个函数,一个是只管把数组从小到大排序,一个是只管从大到小排序,第三个函数是增加一个参数,可以用它来对数组...
  • Java程序设计,编程用3种方式给数组排序,每一种方式都要写出注释
  • sort()对数组排序,不开辟新的内存,对原有数组元素进行调换1、简单数组简单排序var arrSimple=new Array(1,8,7,6);arrSimple.sort();document.writeln(arrSimple.join());2、简单数组自定义排序var arrSimple2=new ...
  • 首先我们先讲,在我们有10个不一样大小的数字类型的值的话,我们如何去给数组进行排序。sort()方法是,是最强大的数组方法之一。直接上干货。//定义水果数组。var arr=['orange','apple','banana','litchi'];...
  • 出发点:因为组件已经很庞大了,而且这只是一个特例问题,改组件的代价太大,因此转换需求,当提交复选框的时候将复选的结果数组根据options的顺序排序。 需求:将一个数组按照另一个数组的顺序排序 参照顺序数组...
  • UE4 给数组排序

    千次阅读 2019-08-11 20:15:40
    原版引擎里面是没这个功能的,不过官方商店提供了一个免费的插件,直接下载即可扩展功能,还是很方便的 ...插件名称就是 LE Extended Standard Library 应该还有其他的功能,不过暂时没想到其他要用的 ...
  • * 调用了Arrays的方法sort给 这个数组排序 * 用二分查找找出元素所在的位置,并返回所在位置的角标 * 调用fill方法给数组填充数据 */ public static void main(String[] args) { ...
  • PostgreSQL 给数组排序

    千次阅读 2014-06-17 14:06:07
    对数组内部进行排序的PLSQL函数。
  • 用冒泡法给数组排序

    2017-10-30 21:23:19
    冒泡排序 思想
  • 可以看到,sort()方法,是按照字符(数字0-9或者字母a-z)来排序的,先按照第一个字符排序 如果第一个字符相同,再比较第二个字符,以此类推。 所以,如果是纯数字的数组,则会比较数字 如果我们需要按照每个...
  • 随意输入一个数组,然后在插入一个数,自动排序
  • sort()对数组排序,不开辟新的内存,对原有数组...1、文字数组排序——sort(); var arr=new Array(6) arr[0]="George" arr[1]="John" arr[2]="Thomas" arr[3]="James" arr[4]=
  • Arrays.sort  编辑 本词条缺少概述,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!   中文名 Arrays.sort 外文名 暂无 分 类 java 定 义 sort array ...java中的数组排序。 A...
  • 我有下课.在这里,Iris是另一个具有某些属性的类.public class Helper {Iris iris;double distance;public Helper(Iris iris, double distance) {this.iris ...}}我想对这个数组列表(即List< Helper> helperLis...
  • 如果数组长度为length,那么,它最后一个拥有子节点的节点index = length / 2 - 1 堆排序的基本流程 1.将给定的数组按照堆去理解(或者说构造成堆也行) 2.将这个堆进行调整,调整为大根堆或者小根堆,接下来,我们...
  • console.log("------默认排序(ASCII字符排序)------");var arr = [1,2,55,12,88];arr.sort(); //ASCII字符代码从小到大排序console.log(arr.toString());console.log("------自定义函数排序------");var arr1 = [1,2...
  • 在键盘上录入数据,然后输出排好序的数据,要求要建立类,在类外定义函数,要实现两个数组同时排好序
  • 题意:一个数组,按照模3的结果进行排序(如果没撒)
  • 分享大家供大家参考,具体如下:根据数组中对象的某一属性排序var newArray = [{name: "aaa",value: 0},{name: "ddd",value: 3},{name: "bbb",value: 1},{name: "eee",value: 4},{name: "ccc",value: 2}];...
  • 比较函数应该具有两个参数 a 和 b,其返回值如下: // 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。 // 若 a 等于 b,则返回 0。 // 若 a 大于 b,则返回一个大于 0 的值。
  • 前言熟悉数组和字符之间的转化,可以参考我之前的文章https://zhuanlan.zhihu.com/p/186438076​zhuanlan.zhihu.com熟悉十大排序算法JS几种数组排序及sort的实现出以下数组,并进行排序处理var arr = new Array('1...
  • 这次大家带来php自定义二维数组排序函数array,php自定义二维数组排序函数array的注意事项有哪些,下面就是实战案例,一起来看一下。这篇文章主要介绍了php自定义二维数组排序函数array_orderby用法,结合实例形式...
  • iOS数组排序

    千次阅读 2016-08-14 21:38:46
    sortedArrayUsingComparator数组排序方法 sortedArrayUsingSelector方法只能升序 array = [array ...// 给数组排序,块代码的返回值,比较结果 // NSOrderedAscending = -1, 上升 // NSOrderedSame = 0,
  • 升序var 降序var 乱序一个有序的数组,乱序 ---》 随机打乱原数组的顺序,然后一次性返回。var 对象排序给一个对象按照年龄排序。var 数组按照字符串长度排序var 数组按照字节长度来排序function ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,725
精华内容 7,090
关键字:

给数组排序