国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 邏輯算法 > 正文

PHP實現(xiàn)冒泡算法

2020-03-22 16:37:20
字體:
供稿:網(wǎng)友
  • 我發(fā)現(xiàn)很多公司面試的時候都會出一道冒泡算法的題,這么基礎(chǔ)的算法,一般程序員應該都寫得出來,但是今天我在網(wǎng)上看了一下,發(fā)現(xiàn)很多文章中的冒泡算法都是錯的,根本就不是冒泡算法!還堂而皇之的說什么解析冒泡算法,真是誤導新人啊。我就直接上代碼了,這,才是冒泡算法。

    <?phpfunction bubbleSort($ary){	$len = count($ary);	for ($i=0; $i < $len - 1; $i++) { 		for ($j=0; $j < $len - 1 -$i; $j++) { 			if ($ary[$j] > $ary[$j + 1]) {				$tmp = $ary[$j];				$ary[$j] = $ary[$j + 1];				$ary[$j + 1] = $tmp;			}		}	}	return $ary;}$ary = [7,6,789,3,56,8,1234,45];$newAry = bubbleSort($ary);print_r($newAry);?>

    好吧,下面我就說說,什么不是冒泡算法。

    當然啦,首先要說說什么才是冒泡算法,它的作用是把一個亂序數(shù)組按照大小順序排列。實現(xiàn)原理我就直接拿個實例來說明吧。

    $ary = [7,6,78,1];
    把這個數(shù)組從小到大進行排列,首先把第一個數(shù)和第二個數(shù)進行比較,在這個數(shù)組里就是7和6比較,7比6大,第一次循環(huán)后數(shù)組就變成這個樣子。

    $ary = [6,7,78,1];
    第二次循環(huán)7和78比較,結(jié)果不變。

    $ary = [6,7,78,1];

    第三次78和1比較,78比1大,調(diào)換位置,結(jié)果

    $ary = [6,7,1,78];
    這樣內(nèi)部就循環(huán)完一次了,開始進行第二次循環(huán),跟上面一樣的,我就不細寫了。

    這就是冒泡算法,名字起得非常形象,就像一個個小泡泡往上冒一樣。

    但是我在百度搜索“冒泡算法”,出來的第一篇文章是這個

    經(jīng)典排序算法 - 冒泡排序Bubble sort

    他給出的代碼是這樣的:

    html' target='_blank'>static void bubble_sort(int[] unsorted)        {            for (int i = 0; i < unsorted.Length; i++)            {                for (int j = i; j < unsorted.Length; j++)                {                    if (unsorted[i] > unsorted[j])                    {                        int temp = unsorted[i];                        unsorted[i] = unsorted[j];                        unsorted[j] = temp;                    }                }            }        }        static void Main(string[] args)        {            int[] x = { 6, 2, 4, 1, 5, 9 };            bubble_sort(x);            foreach (var item in x)            {                Console.WriteLine(item);            }            Console.ReadLine();        }

    這明顯不是冒泡算法好嗎?!


    這個算法是從一個數(shù)組的第一個數(shù)開始,分別與他后面的所有數(shù)字比較,如果比后面的數(shù)字大,就互相調(diào)換位置,雖然最后也能得到正確結(jié)果,但這根本不是冒泡算法,可能叫另一種算法吧。真是誤人子弟。

    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 汉川市| 江都市| 五大连池市| 永安市| 凌源市| 锡林浩特市| 巴马| 海淀区| 莆田市| 平泉县| 德江县| 马山县| 浑源县| 洪雅县| 望江县| 班戈县| 罗甸县| 揭阳市| 南充市| 内黄县| 凤山市| 仲巴县| 津南区| 盘山县| 内乡县| 太湖县| 浑源县| 彭阳县| 加查县| 田阳县| 鱼台县| 广汉市| 焦作市| 宾阳县| 吉木萨尔县| 黔南| 上栗县| 五莲县| 五大连池市| 通渭县| 霍邱县|