php 冒泡法 排序
<?php
/**
* php 冒泡法
* @param $arr
* @param string $order 排序符
* @return $arr
*/
function orderarr(&$arr, $order = 'asc')
{
if (!$arr) return false;
$len = count($arr);
for ($i = 0; $i < $len; $i++) {
for ($j = 1; $j < $len - $i; $j++) {
$bool = $order == 'asc' ? $arr[$j - 1] > $arr[$j] : $arr[$j - 1] < $arr[$j];
if ($bool) {
$temp = $arr[$j - 1];
$arr[$j - 1] = $arr[$j];
$arr[$j] = $temp;
}
}
}
} $arr = array(5, 7, 2, 6, 1);
echo '<pre>';
orderarr($arr);
var_dump($arr);
php 冒泡法 排序的更多相关文章
- 8. 冒泡法排序和快速排序(基于openCV)
一.前言 主要讲述冒泡法排序和快速排序的基本流程,并给出代码实现,亲测可用. 二.冒泡法排序 冒泡法排序主要是将相邻两个值比较,把小的向前冒泡,大的向后沉淀,时间复杂度为O(n2).主要思想如下: 分 ...
- 【Java基础】选择排序、冒泡法排序、二分法查找
1.选择排序: //改进后的选择排序,减少交换的次数 public static void sortSelect(int arr[]) { //用于存放最小数的下标 int s; for (int i ...
- Java温故而知新-冒泡法排序
冒泡法排序是各种初学者在学习数组与循环结构时都会练习的一种简单排序算法. 冒泡法的精髓在于比较相邻的两个元素,较大的元素会不断的排到队伍后面去,就像水里的泡泡一样不断向上跑. 想像一下倒在一个透明玻璃 ...
- Python 冒泡法排序
def sequence(disorder='', separators=''): arrays = disorder.split(separators) def desc(): for i in r ...
- C#冒泡法排序源码
如下内容内容是关于C#冒泡法排序的内容,应该对码农有一些用途. int[] myArray = new int[] { 10, 8, 3, 5, 6, 7, 4, 6, 9 }; for( int j ...
- [python,2018-01-15] 冒泡法排序
想写一个冒泡法排序,没什么思路,就先写了个java的 public static void main(String[] args) { int array[] = {88,2,43,12,34,8,6 ...
- C语言 · 冒泡法排序
算法提高 冒泡法排序 时间限制:1.0s 内存限制:512.0MB 输入10个数,用“冒泡法”对10个数排序(由小到大)这10个数字在100以内. 样例输入 1 3 6 8 2 7 ...
- C程序数组算法 — 冒泡法排序【前冒 || 后冒】
第一种写法(前冒泡): /* C程序数组算法 - 冒泡法排序 * 此例子按照 大 -> 小 排序 * 原理:两两相比较,然后进行大小对调 * 比较次数: n^2 次 * 说明:冒泡排序是相对稳定 ...
- 冒泡法排序_c++实现
看完了郝斌老师的c语言视频,冒泡法排序,就试着写了.我觉得学习算法最重要的不是代码,而是它的原理. 代码: /** 2 * Copyright (c) 1991 - 2016 Arvin Tang. ...
随机推荐
- SQL Server ->> THROW字句对比RAISERROR子句
SQL Server 2012开始引入了THROW字句用于替代从SQL Server开始沿用至今的RAISERROR.既然作用相同,都是在TRY... CATCH代码块后不抓错误然后抛出错误,它们之间 ...
- Razor模板引擎 (RazorEngine)
Razor模板引擎不仅在ASP.NET MVC中内置了Razor模板引擎,还有一个开源的RazorEngine, 这样以来我们可以在非ASP.NET MVC项目中使用Razor引擎,甚至在控制台,Wi ...
- 【Leetcode】【Medium】Gas Station
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...
- 【pbrt】在c++程序中使用pbrt进行渲染
近段时间做一个关于水面的动画.由于我用c++实现水面动画的,然而使用c++我自己的渲染系统渲染结果被同学说是可视化不叫渲染,所以我决定修改一下…… 恰好进来在学习pbrt,所以索性就蛋疼了考虑直接用p ...
- Appium的安装-Mac平台(命令行 & dmg)
其实Appium的安装方式主要有两种: 1)自己安装配置nodejs的环境,然后通过npm进行appium的安装 2)直接下载官网提供的dmg进行安装,dmg里面已经有nodejs的环境和appium ...
- 配置java环境变量(详细)
内容:java安装.配置java环境变量.简单编译运行(详细) 为什么配置系统环境变量好?个人理解在结尾 ############################################### ...
- Eclipse环境下配置Tomcat,并且把项目部署到Tomcat服务器上
一 配置Tomcat 1.打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 2.单击"Server"选项 ...
- IntelliJ IDEA中 查看某个类中的所有方法
方法一:alt + 7 方法二: ctrl + F12 方法三: 自定义 File Structure
- 使用 JDK XML 和 java对象相互转换
Unmarshaller 类能将 XML 数据转换为 Java 内容对象. Marshaller 类能够将 Java 对象转换回 XML 数据. package jaxb; /** * Created ...
- mysqlslap执行基准测试
查看mysqlslap所支持的主要参数配置及说明如下 -a, --auto-generate-sql 由系统自动生成SQL脚本进行测试 Generate SQL where not supplied ...