冒泡排序实例

介绍  :比较相邻的两个数,如果后面的比前面的小,把小的放在前面。反之亦然

1、从小到大排序

 1 function bubbleSort(arr){
 2         var temp ;
 3         for(var i=0; i<arr.length;i++){
 4             for(var j=arr.length-1;j>i;j--){
 5                 if(arr[j]<arr[j-1]){
 6                     temp = arr[j];
 7                     arr[j] = arr[j-1];
 8                     arr[j-1] = temp;
 9                 }
10             }
11         }
12         return arr;
13     }
14 var arr = [2,6,5,4,1]
15 bubbleSort(arr);
16 console.log(arr);  //输出 [1, 2, 4, 5, 6]

2、从大到小排序

 1 function bubbleSort (arr) {
 2         var tenp;
 3         for (var i = 0; i<arr.length; i++) {
 4             for (var j = 0; j < arr.length-i-1; j++) {
 5                 if (arr[j] < arr[j+1]) {
 6                     temp = arr[j];
 7                     arr[j] = arr[j+1];
 8                     arr[j+1] = temp;
 9                 }
10             }
11         }
12         return arr;
13     }
14 var arr=[2,6,5,4,1];
15 bubbleSort(arr);
16 console.log(arr); //输出 6, 5, 4, 2, 1]
时间: 2024-08-06 02:53:50

冒泡排序实例的相关文章

数据结构(十二)——排序算法

数据结构(十二)--排序算法 一.排序简介 1.排序的一般定义 排序是计算机中经常进行的操作,目的在于将一组无序的数据元素调整为有序的数据元素.序列:1,20,45,5,2,12排序后:1,2,5,12,20,45 2.排序的数学定义 3.排序的稳定性 如果序列中的两个元素R[i].R[j],关键字分别为K[i].K[j],并且在排序之前R[i]排在R[j]前面,如果排序操作后,元素R[i]仍然排在R[j]前面,则排序方法是稳定的:否则排序是不稳定的. 4.排序实现的关键 比较:任意两个数据元素

冒泡排序法实例

/** * @ClassName: Exercise8_1 * @Description: 演示数组的冒泡排序算法 * @author: YuHong * @date: 2014年2月5日 下午2:25:04 */ public class Exercise8_1 { public static void main( String[] args ) { int[] a = { 25, 24, 12, 76, 98, 101, 90, 28 }; int i = 0; int j = 0; int

一起talk C栗子吧(第二十六回:C语言实例--冒泡排序)

各位看官们,大家好,上一回中咱们说的是二分查找的例子,这一回咱们说的例子是:冒泡排序.闲话休 提,言归正转.让我们一起talk C栗子吧! 我们先来说说什么是排序,所谓的排序就是把容器中的元素依据一定的规则进行排列.我们还是像以前一 样举个日常生活中的例子来说明:现在学校里基本上都在搞军训,我想大家也参加过军训,在军训前肯定 会让大家排队,教官会让大家依据自己的身高从低到高进行排队,这样排出来的队列比较整齐.在排队的 过程中就使用了排序,参加军训的学生就是容器中元素,排序的规则就是教官定的:依据

对冒泡排序的理解和实例

Java冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端. 冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有

让冒泡排序的对比次数更少(js实例)

一般网上的冒泡排序例子是这样的: function bubbleSort(arr) { let i = arr.length; let tempExchangVal = undefined; while (i > 0) { for (let j = 0; j < i - 1; j++) { num++; if (arr[j] > arr[j + 1]) { tempExchangVal = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tempExc

八大排序算法——冒泡排序(动图演示 思路分析 实例代码java 负杂度分析)

一.动图演示 二.思路分析 1.  相邻两个数两两相比,n[i]跟n[j+1]比,如果n[i]>n[j+1],则将连个数进行交换, 2.  j++, 重复以上步骤,第一趟结束后,最大数就会被确定在最后一位,这就是冒泡排序又称大(小)数沉底, 3.  i++,重复以上步骤,直到i=n-1结束,排序完成. 三.负杂度分析 1.  不管原始数组是否有序,时间复杂度都是O(n2), 因为没一个数都要与其他数比较一次,(n-1)2次,分解:n2+2n-1,  去掉低次幂和常数,剩下n2,所以最后的时间复杂

实例365(13)---------经典数组排序方法------选择排序法,冒泡排序法

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

php冒泡排序与快速排序实例详解

$a=array('3','8','1','4','11','7'); print_r($a); $len = count($a); //从小到大 for($i=1;$i<$len;$i++) { for($j=$len-1;$j>=$i;$j--) if($a[$j]<$a[$j-1]) {//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了 $x=$a[$j]; $a[$j]=$a[$j-1]; $a[$j-1]=$x; } } print

冒泡排序小实例 php

源代码如下,仅用于参考: <?php$a = array(10,2,36,14,10,25,23,85,99,45); for($j=0;$j<9;$j++){ for($i=0;$i<9-$j;$i++){ if($a[$i]>$a[$i+1]){ $t=$a[$i]; $a[$i]=$a[$i+1]; $a[$i+1] =$t; } } }echo var_dump($a); ?> 运行代码即可