本篇内容介绍了“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中冒泡排序实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!