JavaScript-6(数组的大小排序)
Posted 张锐0328
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript-6(数组的大小排序)相关的知识,希望对你有一定的参考价值。
1 给出一个数组,将这个数组由小到大的排序。
思路分析:(1)通过一个for循环嵌套另一个for再嵌套一个if语句来实现目的
(2)外层的for循环控制从0位到最大位的变化
(3)内层的for循环控制当外层确定时,外层确定的位数的右边的位数
(4)通过if语句判定大小,然后通过赋值法调整顺序
<script type="text/javascript"> //创建数组变量arr,赋值给他一个数组;创造最大值变量max,方便赋值调换 var arr=[8,4,6,3,12,5,7]; var max; //外层for,从0到最大位循环,由于数组是从0位开始的,所以最初值设为0;数组的length为6时,最大位数为5,所以i最大循环不超过length即可。 for(var i=0; i<arr.length; i++){ //内层for,循环的位数比外层大1即可,这样每循环一次外层,会将外层位数的右边的所有数值与外层位数的大小进行if比较 for(var j=(i+1); j<arr.length; j++){ /*如果从左到右从小到大排列的话,在这里只要探讨左边的比右边的大的情况即可。因为其余情况默认不变;当左边比右边大时, 把右边的数赋值给左边,然后把左边的数赋值给右边,这样外循环一次能保证0号位数值最小,外循环第二次时,能保证1号位数值比2~n都小, 如此外循环完毕后,能从小到大排列数组*/ if(arr[i]>arr[j]){ max = arr[i]; arr[i]=arr[j]; arr[j]=max; } } } document.write(arr) </script>
2 给出一个数组,将这个数组由大到小的排序。
思路分析:与上题相似
<script type="text/javascript"> //创建数组变量arr,赋值给他一个数组;创造最小值变量min,方便赋值调换 var arr=[8,15,3,112,22,37,47]; var min; //外层for,从0到最大位循环,由于数组是从0位开始的,所以最初值设为0;数组的length为6时,最大位数为5,所以i最大循环不超过length即可。 for(var i=0; i<arr.length; i++){ //内层for,循环的位数比外层大1即可,这样每循环一次外层,会将外层位数的右边的所有数值与外层位数的大小进行if比较 for(var j=(i+1); j<arr.length; j++){ /*如果从左到右从大到小排列的话,在这里只要探讨右边的比左边的大的情况即可。因为其余情况默认不变;当右边比左边大时, 把右边的数赋值给左边,然后把左边的数赋值给右边,这样外循环一次能保证0号位数值最大,外循环第二次时,能保证1号位数值比2~n号位都大, 如此外循环完毕后,能从大到小排列数组*/ if(arr[j]>arr[i]){ min = arr[i]; arr[i]=arr[j]; arr[j]=min; } } } document.write(arr) </script>
以上是关于JavaScript-6(数组的大小排序)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段