javascript中冒泡排序实例分析
本篇内容介绍了“javascript中冒泡排序实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在JavaScript中,冒泡排序是一种排序方法,原理是把一个数组中的每一个数从前往后依次进行比较,根据大小交换位置,每一轮的比较都确定出一个当轮比较的最大值,最终实现数组的大小排序。
本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。
javascript中冒泡排序是什么意思一、什么是冒泡排序
冒泡排序,Bubble Sort,通过依次来比较相邻两个元素的大小,在每一次的比较的过程中,两个元素,通过交换来达到有序的目的。
如果一组无序的数列想要从小到大排序,那么两个元素比较,通过交换来实现,左边的元素要比右边的元素要小。
如果一组无序的数列想要从大到小排序,那么两个元素比较,通过交换来实现,左边的元素要比右边的元素要大。
就像碳酸饮料中的气泡一样,从底部一直冒泡到顶部。
其原理就是从把一个数组中的每一个数从前往后依次进行比较,然后根据大小交换位置,每一轮的比较都确定出一个当轮比较的最大值,最终实现数组的大小排序。
二、举个例子
假如有 2,4,7,5,3,6,1 这组数
第一轮:
i=0;
j(内层循环)循环 6次,内层循环做的工作:相邻两个数比较,大的最终会放在后面,小的在前,一次循环
外层循环控制次数,内层循环做判断
j=0 1 2 3 4 5
2222222444444477755555557333333376666666711111117arr[0]arr[1]arr[2]arr[1]arr[2]arr[3]
第二轮:
i=1;
j(内层循环)循环 5次
j=0 1 2 3 4 5
222222444444555333333555666661111116777777arr[0]arr[1]arr[2]arr[1]arr[2]arr[3]
第三轮:
i=2;
j(内层循环)循环 4次
22222443333344455551111156666677777
第四轮:
i=3;
j(内层循环)循环 3次
2222333344411114555566667777
第五轮:
i=4;
222331113444555666777
第六轮:
i=5;
21123344556677
<scripttype="text/javascript">//示例1:functionshow(){vararr=[2,4,7,5,3,6,1];for(vari=0;i<arr.length-1;i++){for(varj=0;j<arr.length-1-i;j++){//1、比较相邻的两个数;大的在后,小的在前if(arr[j]>arr[j+1]){vartemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}console.log(arr);}//示例2:<body><inputtype="text"id="test"><buttontype="button"onclick="show()">按我</button><inputtype="text"id="sc"></body>functionshow(){letoT=document.getElementById("test").value;letsc=document.getElementById("sc");//console.log(sc);//console.log(oT);letarr=oT.split("");console.log(arr.length);for(vari=0;i<arr.length-1;i++){for(varj=0;j<arr.length-1-i;j++){//1、比较相邻的两个数;大的在后,小的在前if(arr[j]>arr[j+1]){vartemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}//console.log(arr);sc.value=arr;}</script>
“javascript中冒泡排序实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。