<?php

//使用冒泡排序法对数组进行排序的原理:数组元素两两比较大小
function func($arr){
$len=count($arr);
for($i=0;$i<$len-1;$i++){
for($j=0;$j<$len-1-$i;$j++){
if($arr[$j]>$arr[$j+1]){
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
}
}
print_r($arr);
}
 $arr=array(0,11,2,3,24,5,16,7,48,9);
 func($arr);
 
 
//使用快速排序法对数组进行排序的原理:数组元素进行树状分支,分结点比较大小,然后采用递归函数递归处理
$arr=array(22,1,33,4,56,7,8,3,33,44,66,0,99);
function fenzhi($arr){
$len=count($arr);
if(!is_array($arr)||empty($arr)){
return array();
}
if($len<=1){
return $arr;
}
$left=array();
$right=array();
$key[]=$arr[0];
for($i=1;$i<$len;$i++){
      if($arr[$i]>=$key[0]){
 $left[]=$arr[$i]; 
  }
  else{
  $right[]=$arr[$i];
  }
}
$left=fenzhi($left);
$right=fenzhi($right);
return array_merge($left,$key,$right);
}
   print_r(fenzhi($arr));
?>

冒泡排序法和二分法排序相关推荐

  1. 总结c语言基础算法——冒泡排序法和选择排序法

    1.首先无论何种排序方法其最终目的是按要求将所给数据进行排序.而在C语言中可以有很多排序的方法,这里着重介绍的是常用的较为基础和重要的算法--冒泡排序法和选择排序法. 下面将举一个例子进行讲解: 要求 ...

  2. 浅谈排序算法:冒泡排序法和选择排序法的区别

    之前学习了冒泡排序法和选择排序法,最近被老师问某个道题用的是什么排序法.自己居然答不出来,才发现自己没有真正弄懂,这两个算法的原理和区别,所以····· 1冒泡排序法 1.1什么是冒泡排序法? 顾名思 ...

  3. 冒泡排序法和选择排序法比较(从小到大,升序)

    1.冒泡排序法 冒泡法的基本思想为将相邻的两个数进行比较,并且将较大的数赋值给后面的数.(可以看做将较大的数沉底.) 举个例子,现在我们有5个数,即3 ,7,2 , 1, 5.现在我们需要用冒泡法将它 ...

  4. 冒泡排序法和选择排序法

    冒泡排序法(算法):     ①.比较相邻的元素.如果第一个比第二个大,就交换它们两个:     ②.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数:   ...

  5. c语言冒泡排序与二分法排序

    1.冒泡排序:将元素进行两两比较,大的向后排. 外层循环:N-1(控制比较的轮数) 内层循环:N-1-i(控制每轮比较的的次数,i代表外层循环变量) 如有四个元素,外层3层.1时要比三次,2时比两次, ...

  6. 使用策略模式的设计方式来实现对数组的排序,提供两种具体的实施策略,冒泡排序法和选择排序法

    package com.Arrays;public interface ArraysSort {public abstract int[] sort(int [] arr); }package com ...

  7. [PHP]基本排序(冒泡排序、快速排序、选择排序、插入排序、二分法排序)

    冒泡排序: function bubbleSort($array){ $len=count($array);//该层循环控制 需要冒泡的轮数for($i=1;$i<$len;$i++){ //该 ...

  8. 分享一个多线程实现[冒泡][选择][二分法]排序的例子

    线程的使用规则我将会在我另一篇文章<Delphi中使用比较少的一些语法>中进行介绍,这里只开放一篇Delphi原代码的算法: //工程文件:Sort_MultiThread.dpr pro ...

  9. 链表冒泡排序java_055-冒泡排序算法代码实现

    2.网上数据结构和算法的课程不少,但存在两个问题: 1)授课方式单一,大多是照着代码念一遍,数据结构和算法本身就比较难理解,对基础好的学员来说,还好一点,对基础不好的学生来说,基本上就是听天书了 2) ...

最新文章

  1. Rust 语言风靡学术界
  2. 刘宇凡:数字让切糕与电商溅起涟漪
  3. 【Flutter】StatefulWidget 组件 ( Image 组件 | TextField 组件 )
  4. 12、OpenCV Python 图像梯度
  5. python点线图_Python | 点线图
  6. C++自学13:位运算(std::bitset)
  7. 有关SQLite数据库的一些实证数据,有一定历史比较和参考意义
  8. HTML5 Security Cheatsheet
  9. 即时通讯工具的基本功能和如何做防御
  10. 计算机专业保研面试备考:计算机算法(必看)
  11. 菜鸟和老鸟都无法避免的问题——未将对象引用设置到对象的实例
  12. 国外15种手机游戏引擎和开发工具介绍
  13. Knowledge Distillation论文阅读之:综述文章:Knowledge Distillation: A Survey(未完待续····)
  14. 基于java的超市会员积分管理系统
  15. java 加密并打包_java实现将多个文件打包成zip压缩文件以及对压缩文件的加密
  16. 获取ZoneId 收录的时区和偏移量
  17. Sencha学习笔记2:打包您的第一个Sencha安卓应用apk安装包
  18. Java为什么要有基本数据类型和包装类型
  19. python手机号码标记_python 判断号码是否可用(号码过滤)
  20. 服务器阵列有什么作用,服务器存储-存储服务器和磁盘阵列有什么区别

热门文章

  1. 1.TypeScript入门之TS初体验(运行TS代码)
  2. element ui +mybatisPlus分页插件实现分页功能
  3. JMeter压力测试,五年Java开发者小米、阿里面经
  4. php输出当前系统时间
  5. JS根据指定值删除数组中的元素
  6. Mysql8.0学习笔记
  7. win10安装MinGW-W64的一点心得
  8. java计算机毕业设计旅游信息分享网站源码+mysql数据库+系统+lw文档+部署
  9. jQuery的replaceWith()函数用法详解
  10. 【软件设计师04】计算机网络