原理
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
一.php冒泡排序
/*冒号排序开始*/
$num=array(90,70,50,30,20,0,10,40,60,80);
$cnt=count($num);
//print_r($cnt);
for($i=0;$i<$cnt;$i++){
//print_r($i);0123456789
for($j=0;$j<$cnt-$i-1;$j++){
if($num[$j]>$num[$j+1]){
$temp=$num[$j];
$num[$j]=$num[$j+1];
$num[$j+1]=$temp;
}
}
}
print_r($num);
二.python冒泡排序
#冒泡排序
def bub(bublist):
listlength = len(bublist)
while listlength > 0:
for i in range(listlength - 1):
if bublist[i] > bublist[i+1]:
bublist[i]=bublist[i]+bublist[i+1];
bublist[i+1]=bublist[i]-bublist[i+1];
bublist[i]=bublist[i]-bublist[i+1];
listlength -= 1
print bublist
if __name__=='__main__':
bublist=[60,50,30,40,20,10];
bub(bublist);