zoukankan      html  css  js  c++  java
  • 冒泡排序

    冒泡排序:

    1基本算法思想:

    l依次比较相邻的两个元素,消除逆序(逆序是数学上的概念,是成对出现的,比如50,30就是一对逆序,所谓的消除逆序,就是大的放后面,小的放前面)
    l这样,一轮比较下来,最大的那个数一对是在最后面!
    l然后,再继续新的一轮的比较,注意,刚才一轮后的最大值不再参与比较,这样,这一轮参与比较的数值就比上一轮少一个,如此反复,直到最后只剩下两个数值比较为止!

    所以:应该是一个双重循环,外层控制轮数,内层控制每轮比较的次数!

    2、示例代码:

    <?php
    echo '<pre>';
    function maopao($arr){

    for($i=1,$len=count($arr);$i<$len;$i++){
    for($k=0;$k<$len-$i;$k++){
    if($arr[$k]>$arr[$k+1]){
    $tem = $arr[$k];
    $arr[$k] = $arr[$k+1];
    $arr[$k+1] = $tem;

         }
        }
    }
    return $arr;
    }
    $arr1 = array(78,90,67,45,23,12,34,54,32);
    var_dump(maopao($arr1));

  • 相关阅读:
    最优二叉查找树
    最长公共子序列问题
    最大子段和问题
    01背包问题
    浅析LRU(K-V)缓存
    LeetCode——LRU Cache
    LeetCode——Gas Station
    LeetCode——Jump Game II
    LeetCode——Jump Game
    LeetCode——Implement Trie (Prefix Tree)
  • 原文地址:https://www.cnblogs.com/weihui-vip/p/12064555.html
Copyright © 2011-2022 走看看