• 排序算法---冒泡排序


    冒泡排序算法是一种稳定的排序算法。
    冒泡排序算法原理如下:
    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
    3. 针对所有的元素重复以上的步骤,除了最后一个。
    4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    数据演示:
    待排序序列: 10 7 15 2 5 27 13

    0 第1轮:  7 10 2 5 15 13 【27】 比较6次
    
    1 第2轮:  7 2 5 10 13 【15 27】 比较5次
    
    2 第3轮:  2 5 7 10 【13 15 27】 比较4次
    
    3 第4轮:  2 5 7 【10 13 15 27】 比较3次
    
    4 第5轮:  2 5 【7 10 13 15 27】 比较2次
    
    5 第6轮:  2 【5 7 10 13 15 27】 比较1次
    
    6 第7轮:  【2 5 7 10 13 15 27】 比较0次
    

    代码实现:

    function bubbleSort($arr) {
    	$len = count($arr);
    	if($len<=1){
    		return $arr;
    	}
    	for($i=0;$i<$len;$i++) { //控制循环轮数
    		for($j=$i+1;$j<$len;$j++) {  //每轮比较次数
    			if($arr[$i]>$arr[$j]) {
    				$temp = $arr[$i];
    				$arr[$i] = $arr[$j];
    				$arr[$j] = $temp;
    			}
    		}
    	}
    	
    	return $arr;
    }
    
    print_r(bubbleSort($arr));
    
  • 相关阅读:
    day22 Pythonpython 本文json模块
    day22 Pythonpython 本文sys模块
    day22 Pythonpython random随机模块:略!!!本文os模块
    进程控制
    进程与内存、进程状态
    从汇编角度来理解递归工作栈的原理
    顺序栈
    迷宫问题 Maze 4X4 (sloved by backtrack)
    GDB调试
    用于文件系统的C库函数
  • 原文地址:https://www.cnblogs.com/xinxinmifan/p/sort-algorithm-bubbleSort.html
Copyright © 2020-2023  润新知