## 这个应该是最大众的排序了。也算是简单排序算法中知名度最高的。
##
## 冒泡排序的思路是怎么样的呢?
##
## 首先就是先比较相邻的两个元素,如果满足条件,就交换,否则不动。
##
## 然后是再比较接下来的两个相邻的元素,然后满足条件就交换,否则依然不动。
##
## 依次循环操作下去,最终一个元素,会固定在最下边。
##
## 举例:
##
## 数组有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文件操作/文件操作的一些方法
- 客户端请求相关