冒泡php PHP氣泡排序演算法(一)

2021-10-22 22:09:28 字數 1167 閱讀 4209

在前面的文章中,我們給大家介紹了php演算法系列之《php隨機取一演算法》。今天我們繼續為大家講解常見的php演算法系列的相關知識點,即php氣泡排序演算法。

氣泡排序,相信對於程式設計人員來說並不陌生。氣泡排序演算法簡單來說就是依次比較相鄰的兩個數,然後根據大小做出排序,直至最後兩位數。

那麼之所以稱為「氣泡排序」演算法是因為越大的元素會經由交換慢慢「浮」到數列的頂端(公升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣。

下面我們就結合具體的**示例,給大家介紹php氣泡排序演算法的實現。(以下是公升序排列,即從小到大排列)

**示例如下:<?php

function maopao($arr){

$len = count($arr);

for($k=0;$k<=$len;$k++)

for($j=$len-1;$j>$k;$j--){

if($arr[$j]

$temp = $arr[$j];

$arr[$j] = $arr[$j-1];

$arr[$j-1] = $temp;

return $arr;

$arr = [2,6,2,8,2,34,5,9,2341,23];

var_dump(maopao($arr));

這裡我們定義了乙個maopao方法,首先我們通過count函式統計出指定陣列的總長度。 然後使用雙重for迴圈語句迴圈遍歷陣列元素並逐一比較,那麼外層for迴圈就是用來控制迴圈輪次;內層for迴圈就是控制每輪的比較次數,並且在每輪比較後選出最大的乙個值放在最後。

注意:這裡我們通過臨時變數$temp介質來存貯$j的值,以此迴圈比較兩個相鄰的元素,並把大的值放在後面。

輸出:array (size=10)

0 => int 2

1 => int 2

2 => int 2

3 => int 5

4 => int 6

5 => int 8

6 => int 9

7 => int 23

8 => int 34

9 => int 2341

總結氣泡排序的演算法原理:對一組資料,比較相鄰資料的大小,將值小資料在前面,值大的資料放在後面。

氣泡排序演算法 一

一.如何衡量乙個排序演算法的優劣 1.演算法的執行效率 2.演算法的內耗消耗 通過空間複雜度來衡量 原地排序 特指空間複雜度為o 1 的排序演算法 3.排序演算法的穩定性 若待排序的集合中存在值相等的元素,經過排序之後,相等元素之間原有的順序是否改變,若未改變,則此稱穩定性排序 需求 如何按照金額排...

演算法一 氣泡排序

先來看一張 所謂氣泡排序就是 假設有一列陣列,判斷其中每個相鄰元素的大小,一但發現第乙個數比第二的數要大 預設從小到大排序 就交換兩個元素的位置,一直把,陣列中最大的元素放置在陣列的最後面 假設的陣列 var list 5,2,1,7,5,3,9,2,7 當元素一直比較到最後,發現自己已經是最後乙個...

氣泡排序 氣泡排序演算法優化

常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...