PHP的简易冒泡法代码分享_PHP
很基础的东西,感觉代码还不够简洁,希望高手指导修改
复制代码 代码如下:
function BubbleSort($str){
for($i=0;$i
if($str[$k+1]$tmp=$str[$k+1];
$str[$k+1]=$str[$k];
$str[$k]=$tmp;
}
}
}
return $str;
}
//以下是测试
$str=array(5,8,2,6,10,0,3,12,11);
print_r(BubbleSort($str));
?>
php 冒泡排序2
基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。
由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复 9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的
值依次为1,2,...10-i。
复制代码 代码如下:
function asc($a)
{
for($i=0;$i
for($j=0;$j
if($a[$j]>$a[$j+1])
{
$tmp=$a[$j+1];
$a[$j+1]=$a[$j];
$a[$j]=$tmp;
}
}
}
print_r($a);
}
$a = array(9,8,17,6,26,4,33,2,1);
print_r(asc($a));
?>
function desc($a)
{
$c=array();
for($i=count($a)-1;$i>0;$i--)
{
for($j=0;$j
if($a[$j]{
$tmp=$a[$j+1];
$a[$j+1]=$a[$j];
$a[$j]=$tmp;
}
}
}
print_r($a);
}
$arr=array(33,24,56,55,59);
desc($arr);
?>
PHP冒泡排序法演示
以前面试的时候考官出的笔试题,觉得比较XX,写程序应该是在计算机上面,而不是在笔头上。
PHP程序文件sort_bubble_up.php
复制代码 代码如下:
冒泡排序法演示
//随机生成数组
$arr=array();
echo ' '; 初始值
echo '';
for($i=0;$i$arr[$i]=rand();
echo "\$arr[$i]={$arr[$i]} ";
}
//进行冒泡法排序
for($i=9;$i>0;$i--){
echo ' '; 第'.(10-$i).'次
for($j=0;$jif($arr[$j]$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
echo ''; ';
for($k=0;$kswitch($k){
case $j : echo ''; break;
case $j+1 : echo ''; break;
default : echo ''; ";
}
echo "\$arr[$k]={$arr[$k]}
}
echo '
}
}
//显示排序结果
echo ' '; 结果
echo ''; ';
for($i=0;$iecho "\$arr[$i]={$arr[$i]} ";
}
echo '
?>
样式表文件sort.css
复制代码 代码如下:
h1{text-align: center; color: blue;}
table{font-size: 12px; font-family: arial; background-color: black; text-align: center;}
td{background-color: white;}
.base{background-color: #0FF;}
.light{background-color: #0DD;}
.title{background-color: #3FF; text-align: center;}

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript中常見的冒泡事件:掌握常用事件的冒泡特性,需要具體程式碼範例引言:在JavaScript中,事件冒泡是指事件會從嵌套層次最深的元素開始向外層元素傳播,直到傳播到最外層的父級元素。了解並掌握常見的冒泡事件,可以幫助我們更好地處理使用者互動和事件處理。本文將介紹一些常見的冒泡事件,並提供具體的程式碼範例來幫助讀者更好地理解。一、點擊事件(click

JS事件中哪些不會冒泡?在JavaScript中,事件冒泡是指當一個元素觸發了某個事件時,該事件會逐級向上冒泡到更高層的元素,直到冒泡到文檔根節點。然後,事件處理程序會依照冒泡的順序依序執行。然而,並不是所有的事件都會冒泡。有些事件觸發後只會執行目標元素上的事件處理程序,而不會冒泡到更高層的元素上。以下是一些常見的不會冒泡的事件:focus和blur事件:

為何同一個事件冒泡會重複發生兩次?事件冒泡是瀏覽器中常見的事件傳遞機制。當一個元素觸發了某個事件,這個事件將會從被觸發的元素開始向上級元素依序傳遞,直到傳遞到了文件的根元素。這個過程就像水泡在水中冒起,所以被稱為事件冒泡。然而,有時我們會發現同一個事件冒泡會重複發生兩次,這是為什麼呢?原因主要有兩個面向:事件註冊和事件處理。首先,我們需要先明確的是,事件

先捕獲還是先冒泡?解析事件流程的優劣勢事件流程是Web開發中一個重要的概念,它描述了事件從發生到被處理的過程。在處理事件時,有兩種主要的流程模型:先捕捉後冒泡和先冒泡後捕捉。這兩種模式在不同的場景下各有優劣勢,需要根據實際情況選擇合適的模式。先捕獲後冒泡是指在事件冒泡階段前,先執行事件捕獲階段。事件捕獲階段從事件目標的根節點開始,逐級向下傳遞,直到到達目標元

點擊事件冒泡的作用及其對網頁互動的影響在網頁開發中,事件是實現互動和回應使用者操作的關鍵。其中,事件冒泡是一種常見的事件機制,它允許一個嵌套的元素層次結構中的事件同時被多個元素回應。本文將詳細解釋點擊事件冒泡的作用,並說明它對網頁互動的影響,同時提供一些具體的程式碼範例。一、點選事件冒泡的概念點選事件冒泡(ClickEventBubbling)指的是當一個元

學習點擊事件冒泡,掌握前端開發中的關鍵概念,需要具體程式碼範例前端開發是當今網路時代中的一個重要領域,而事件冒泡是前端開發中的關鍵概念之一。理解和掌握事件冒泡對於編寫高效的前端程式碼至關重要。本文將介紹什麼是事件冒泡,以及如何在前端開發中使用事件冒泡的概念。一、什麼是事件冒泡事件冒泡是指當一個元素上的事件被觸發時,會先從最內層的元素開始,然後逐級向父級元素

掌握事件冒泡,輕鬆實現複雜互動效果,需要具體程式碼範例事件冒泡(EventBubbling)是前端開發中一個重要的概念,它指的是當一個元素上的事件被觸發後,該事件會自動向父級元素傳播,直到傳播到文檔根元素。掌握了事件冒泡的原理和應用,我們可以輕鬆實現複雜的互動效果,提升使用者體驗。以下將透過具體的程式碼範例,來幫助讀者更好地理解和應用事件冒泡。程式碼範例一:點擊展

如何利用點擊事件冒泡實現更靈活的網頁互動體驗引言:在前端開發中,我們經常會遇到需要在網頁的一部分元素上添加點擊事件的情況。然而,如果頁面中的元素很多,為每個元素都添加點擊事件將變得非常繁瑣和低效。點擊事件冒泡可以幫助我們解決這個問題,透過將點擊事件新增到公共父元素上,實現更靈活的網頁互動體驗。一、點擊事件冒泡的原理點擊事件冒泡是指當一個元素上的點擊事件被觸
