## 這個應該是最大眾的排序了。也算是簡單排序算法中知名度最高的。
##
## 冒泡排序的思路是怎么樣的呢?
##
## 首先就是先比較相鄰的兩個元素,如果滿足條件,就交換,否則不動。
##
## 然后是再比較接下來的兩個相鄰的元素,然后滿足條件就交換,否則依然不動。
##
## 依次循環操作下去,最終一個元素,會固定在最下邊。
##
## 舉例:
##
## 數組有5個元素從小到大排序,首先第一個和第二個比,第一個比第二個大,就交換,否則不操作
##
## 然后第二個和第三個比較,第二個大于第三個則交換,否則依然不動。直到對比到第四個和第五個對比。
##
## 經過一輪的循環對比,最大的數字就下沉到最下邊了。小的數字逐漸向上浮出。
## 第一種寫法
`~~~
class Maopao{
public function index(){
$arr = [1,2,9,3,6,7,4,5];
$data = $this->sort($arr);
var_dump($data);
}
/**
* @param $arr
* @return mixed
*/
public function sort($arr){
$len = count($arr);
for ($i=0;$i<$len-1;$i++){
for ($j=0;$j<$len-$i-1;$j++) {
if ($arr[$j] > $arr[$j + 1]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $tmp;
}
}
}
return $arr;
}
}
~~~`
## 第二種寫法
`~~~
class Maopao{
public function index(){
$arr = [1,2,9,3,6,7,4,5];
$data = $this->sort($arr);
var_dump($data);
}
/**
* @param $arr
* @return mixed
*/
public function sort($arr)
{
$len = count($arr);
for ($i = 0; $i < $len - 1; $i++) {//循環比對的輪數
for ($j = $i + 1; $j < $len; $j++) {//從第二個開始循環,循環到最后一個,逐一和第一個比較
if ($arr[$i] > $arr[$j]) {//前邊大于后邊的則交換
$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
return $arr;
}
}
~~~`
- 公共頁面js
- 公共頁面添加js
- 公共頁面編輯js
- 公共頁面列表js
- 文件上傳方法
- 分類相關
- 獲取ip
- Response類
- Curl類
- JWT
- tp5.1下redis的使用
- tp5.1使用RabbitMQ
- tp5.1+easywechat相關
- tp5.1+easywechat實現小程序登錄
- uniapp頁面
- tp控制器
- git相關操作
- php文件操作
- 大文件上傳
- laravel隊列
- 1.安裝laravel并進行相關配置
- nginx反向代理解決微信公眾號,小程序,微信支付域名限制,回調
- readme
- do
- 雜項
- cas單點登錄
- tp6跨域(中間件不起作用版)
- php算法
- 冒泡排序
- knn算法
- 使用es
- 使用mongdb
- tp6+rabbirmq
- 一些問題
- php文件操作/文件操作的一些方法
- 客戶端請求相關