在php中冒泡排序,php中实现快排与冒泡排序
快排
function quicksort($str){
if(count($str)<=1) return $str;//如果個數不大于一,直接返回
$key=$str[0];//取一個值,稍后用來比較;
$left_arr=array();
$right_arr=array();
for($i=1;$i
if($str[$i]<=$key)
$left_arr[]=$str[$i];
else
$right_arr[]=$str[$i];
}
$left_arr=quicksort($left_arr);//進行遞歸;
$right_arr=quicksort($right_arr);
return array_merge($left_arr,array($key),$right_arr);//將左中右的值合并成一個數組;
}//以下是測試
$str=array(5,3,8,2,5,9,7,2,1,4,0);
print_r(quicksort($str));
?>
冒泡排序
function bubbingSort(array $array)
{
for($i=0, $len=count($array)-1; $i
{
for($j=$len; $j>$i; --$j)
{
if($array[$j] < $array[$j-1])
{
$temp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $temp;
}
}
}
return $array;
}
print '
';print_r(bubbingSort(array(1,4,22,5,7,6,9)));
print '';
Java排序算法分析與實現:快排、冒泡排序、選擇排序、插入排序、歸并排序(二)
一.概述: 上篇博客介紹了常見簡單算法:冒泡排序.選擇排序和插入排序.本文介紹高級排序算法:快速排序和歸并排序.在開始介紹算法之前,首先介紹高級算法所需要的基礎知識:劃分.遞歸,并順帶介紹二分查找算法 ...
排序方法之標準庫中的快排 qsort ()函數
C標準庫qsort()函數的用法(快排) 使用快速排序例程進行排序 頭文件:stdlib.h 用 法: void qsort(void *base, int ?nelem, int ?width, i ...
python 冒泡排序,快排
一.冒泡排序 1.1.冒泡的原理 比較相鄰的元素.如果第一個比第二個大,就交換他們兩個. 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對.在這一點,最后的元素應該會是最大的數. 針對所有的 ...
java排序,冒泡排序,選擇排序,插入排序,快排
冒泡排序 時間復雜度:O(n^2) 空間復雜度O(1) 穩定性:穩定 比較相鄰的元素.如果第一個比第二個大,就交換他們兩個. 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對.這步做完后,最 ...
基于visual Studio2013解決算法導論之010快排中應用插入排序
題目 快排中引用插入排序 解決代碼及點評 #include #include #include
[劍指Offer]39-數組中出現次數超過一半的數字(快排延申,找第k大數同理)
題目鏈接 https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&tqId=11181&t ...
c語言中使用自帶的qsort(結構體排序)+ 快排
c中沒有自帶的sort函數emm 不過有自帶的qsort函數 (其實用法都差不多(只是我經常以為c中有sort 頭文件要用 #include 一定要重新把指針指向的值 ...
Java常見的幾種排序算法-插入、選擇、冒泡、快排、堆排等
本文就是介紹一些常見的排序算法.排序是一個非常常見的應用場景,很多時候,我們需要根據自己需要排序的數據類型,來自定義排序算法,但是,在這里,我們只介紹這些基礎排序算法,包括:插入排序.選擇排序.冒泡排 ...
C語言實現單向鏈表及其各種排序(含快排,選擇,插入,冒泡)
#include #include #define LEN sizeof(struct Student) struct Student / ...
隨機推薦
iOS10 推送必看(基礎篇)
雖然這篇文章比較長,也不好理解,但是還是建議大家收藏,以后用到的時候,可以看看,有耐心的還是讀一讀. 這篇文章開始,我會跟大家好好講講,蘋果新發布的iOS10的所有通知類. 一.創建本地通知事例詳解: ...
linux系統加快大文件的寫入速度
linux系統加快大文件的寫入速度 setvbuf進行優化內存IO
silverlight 用戶瀏覽器未安裝SL插件問題
1.在Silverlight啟動頁面
PHP 生成.csv 文件并下載到瀏覽器
近期做了一個項目須要把訂單的信息顯示出來.而且可以把相關信息放到一個.csv 文件里,下載到瀏覽器.首先我要說明的是.csv 文件,PHP 有專門的函數去解析該類型的文件,相關函數大家可以去官網查看. ...
IP分類地址——a,b,c 類是如何劃分的
今天IP網絡使用32位地址,點分十進制格式,如172.16.0.0.地址格式:IP地址=網絡地址+主機地址 或 IP地址=主機地址+子網地址+主機地址. IP地址類型 當互聯網最初的設計,為了便于網絡 ...
【譯】深度雙向Transformer預訓練【BERT第一作者分享】
目錄 NLP中的預訓練 語境表示 語境表示相關研究 存在的問題 BERT的解決方案 任務一:Masked LM 任務二:預測下一句 BERT 輸入表示 模型結構--Transformer編碼器 Tra ...
[原創]AndroBugs_Framework Android漏洞掃描器介紹
[原創]AndroBugs_Framework Android漏洞掃描器介紹 1?AndroBugs_Framework Android 漏洞掃描器簡介 一款高效的Android漏洞掃描器,可以幫助開 ...
[Unity插件]Lua行為樹(三):組合節點Sequence
Sequence的繼承關系如下: Sequence->Composite->ParentTask->Task 上一篇已經實現了簡單版本的ParentTask和Task(基于Behav ...
C#多線程和線程池[轉]
1.概念 ?1.0 線程的和進程的關系以及優缺點 windows系統是一個多線程的操作系統.一個程序至少有一個進程,一個進程至少有一個線程.進程是線程的容器,一個C#客戶端程序開始于一個單獨的線程,C ...
總結
以上是生活随笔為你收集整理的在php中冒泡排序,php中实现快排与冒泡排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KMP各个版本说明
- 下一篇: 数字电子钟实验设计(proteus)