简单的一个php 冒泡排序算法

 更新时间:2016年11月25日 17:10  点击:1559
在我们刚学编程就知道各种排序算法,现在我们再次看看php 冒泡算法在实际应用中用法吧,有需要的朋友简单的参考一下。
 代码如下 复制代码

<?php
header('Content-Type: text/html; charset=utf-8');
//   简单冒泡算法      0 1 2 3 4
$a = array(5,4,3,2,1);  //5
echo  "比较54321   <br /><hr />";
function  mp($a){  //传值 要是数组
        //i=1 i<5 i++
        for($i=0;$i<count($a);$i++){ 
                /* j=3 j<i  j-- 
                 * 这里为什么要-2呢
                 * 因为数组是从0开始的 所以要-1
                 * 然后 一会要比较后一位 和倒数第二位  所以 要-2
                 * 当然 -1  也可以 只要把 $a[j+1]改成$a[j]  然后把$a[j] 改成$a[j-1] 即可
                 */
                for ($j=count($a)-2;$j>=$i;$j--){ 
                        //判断数组最大的位数  和第二大的相比
                         if ($a[$j+1]<$a[$j]){   
                                 echo  $a[$j+1],'------小于-----',$a[$j],'----------排列前:',fn($a);
               //如果最大的小于第二大的就换位置
                                 $tmp = $a[$j+1];  
                                   $a[$j+1]=$a[$j];
                                   $a[$j]=$tmp;
                                   echo '------------排列后:',fn($a),'<br><hr>';
                         }
                        
                }
               
               
        }
        return $a;
}

echo  fn(mp($a));


function fn($arr){
        foreach ($arr as $value){
                echo  $value;
        }       
}

   
?>

一个简单的array_push()函数用法,这个是对数组操作比较常用的一个函数,有需要的朋友可以参考一下

(PHP 4, PHP 5)

array_push — 将一个或多个单元压入数组的末尾(入栈)

Report a bug 说明
int array_push ( array &$array , mixed $var [, mixed $... ] )
array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。和如下效果相同:

 代码如下 复制代码
<?php
$array[] = $var;
?>

并对每个 var 重复以上动作。

返回数组新的单元总数。


例子 1

 代码如下 复制代码
<?php
$a=array("Dog","Cat");
array_push($a,"Horse","Bird");
print_r($a);
?>

输出:

Array ( [0] => Dog [1] => Cat [2] => Horse [3] => Bird )例子 2
带有字符串键的数组:

 代码如下 复制代码
<?php
$a=array("a"=>"Dog","b"=>"Cat");
array_push($a,"Horse","Bird");
print_r($a);
?>

输出:

Array ( [a] => Dog [b] => Cat [0] => Horse [1] => Bird )

Note: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。

Note: 如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数组。

参见 array_pop(),array_shift() 和 array_unshift()。

 


If you want to preserve the keys in the array, use the following:

 代码如下 复制代码

<?php
function array_pshift(&$array) {
    $keys = array_keys($array);
    $key = array_shift($keys);
    $element = $array[$key];
    unset($array[$key]);
    return $element;
}
?>

本文章缩合的了php的各种函数的用法来实现按指定元素值去除数组元素,有需要的朋友可以参考一下。

按指定元素值去除数组元素

 代码如下 复制代码

<?php//去除值为"Cat"的元素
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
print_r($a);
unset($a[array_search("Cat",$a)]);
//array_search("Cat",$a)按元素值返回键名。去除后保持索引
print_r($a);
?>

下面会讲到关于array_search用法

显示结果

 代码如下 复制代码

去除前:
Array
(
    [a] => Dog
    [b] => Cat
    [c] => Horse
)

去除后:

Array
(
    [a] => Dog
    [c] => Horse
)


array_search()定义和用法
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。

如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

语法
array_search(value,array,strict)参数 描述
value 必需。规定在数组中搜索的值。
array 必需。被搜索的数组。
strict 可选。可能的值:

true
false - 默认
如果值设置为 true,还将在数组中检查给定值的类型。(参见例子 2)
 

例子 1

 代码如下 复制代码
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_search("Dog",$a);
?>输出:

a

本教程人简单的讲述一下关于php的中的统计数组中数字型数据的和函数array_sum()的用法。

例子1
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>"5",1=>"15",2=>"25");
echo array_sum($a);
?>

输出:

45

例子2
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>5,1=>15,2=>25);
echo array_sum($a);
?>

输出:

45

例子3
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>5,1=>15.5,2=>25);
echo array_sum($a);
?>

输出:

45.5

例子4
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>5,1=>"15s",2=>25);
echo array_sum($a);
?>

输出:

45

例子5
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>5,1=>"s15s",2=>25);
echo array_sum($a);
?>

输出:

30

本文章是一个简单的高效的去除一维数组重复值的代码,有需要的朋友简单的参考一下哦。
 代码如下 复制代码

<?php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");
print_r(array_unique($a));
?>

Array ( [a] => Cat [b] => Dog )

结果我们把Cat 只保留了一个哦。

[!--infotagslink--]

相关文章

  • C#几种排序算法

    作者:Sabine 【导读】本文介绍了C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序  冒泡排序 using System; namespace BubbleSorter { public class Bubb...2020-06-25
  • 经典实例讲解C#递归算法

    这篇文章主要用实例讲解C#递归算法的概念以及用法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下...2020-06-25
  • 图文详解Heap Sort堆排序算法及JavaScript的代码实现

    这篇文章以图文详解Heap Sort堆排序算法及JavaScript的代码实现,堆排序算法基于类二叉树的堆数据结构,需要的朋友可以参考下...2016-05-05
  • C#中实现任意List的全组合算法代码

    这篇文章主要是介绍了.net C# 实现任意List的全组合算法实现代码,需要的朋友可以参考下...2020-06-25
  • 同时兼容JS和C#的RSA加密解密算法详解(对web提交的数据加密传输)

    这篇文章主要给大家介绍了关于同时兼容JS和C#的RSA加密解密算法,通过该算法可以对web提交的数据进行加密传输,文中通过图文及示例代码介绍的非常详细,需要的朋友们可以参考借鉴,下面来一起看看吧。...2020-06-25
  • js实现数组冒泡排序、快速排序原理

    这篇文章主要为大家详细介绍了js实现数组冒泡排序、快速排序的原理,感兴趣的小伙伴们可以参考一下...2016-03-10
  • JS实现的随机排序功能算法示例

    这篇文章主要介绍了JS实现的随机排序功能算法,结合具体实例形式分析了javascript常用的排序算法实现技巧,需要的朋友可以参考下...2017-06-15
  • C#常用数据结构和算法总结

    这篇文章主要介绍了C#常用数据结构和算法,这里我们总结了一些知识点,可以帮助大家理解这些概念。...2020-06-25
  • 分享javascript实现的冒泡排序代码并优化

    本文给大家汇总介绍了几个个人收藏的JavaScript实现冒泡排序的代码,都是非常的不错,有需要的小伙伴可以参考下...2016-06-12
  • C++实现的O(n)复杂度内查找第K大数算法示例

    这篇文章主要介绍了C++实现的O(n)复杂度内查找第K大数算法,结合实例形式分析了算法的原理以及具体实现方法,需要的朋友可以参考下...2020-04-25
  • c# 实现位图算法(BitMap)

    这篇文章主要介绍了c# 如何实现位图算法(BitMap),文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
  • 一篇文章带你搞懂Vue虚拟Dom与diff算法

    这篇文章主要给大家介绍了关于Vue虚拟Dom与diff算法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-26
  • R语言关于随机森林算法的知识点详解

    在本篇文章里小编给大家整理的是一篇关于R语言关于随机森林算法的知识点详解内容,有兴趣的朋友们可以跟着学习下。...2021-05-13
  • C++并查集亲戚(Relations)算法实例

    这篇文章主要介绍了C++并查集亲戚(Relations)算法,实例分析了并查集亲戚算法的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-04-25
  • C/C++实现八大排序算法汇总

    这篇文章主要为大家详细介绍了C/C++实现八大排序算法汇总,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
  • 基于稀疏图上的Johnson算法的详解

    本篇文章介绍了,稀疏图上的Johnson算法的详解。需要的朋友参考下...2020-04-25
  • C# URL短地址压缩算法及短网址原理解析

    这篇文章主要介绍了C# URL短地址压缩算法及短网址原理解析,本文重点给出了算法代码,需要的朋友可以参考下...2020-06-25
  • VC++实现选择排序算法简单示例

    这篇文章主要介绍了VC++实现选择排序算法简单示例,代码简洁易懂,有助于读者对数据结构与算法的学习,需要的朋友可以参考下...2020-04-25
  • 深入浅析React中diff算法

    React 最为核心的就是 Virtual DOM 和 Diff 算法,diff算法的基础是Virtual DOM,接下来通过本文给大家介绍React中diff算法的相关知识,对React中diff算法感兴趣的朋友跟随小编一起学习下吧...2021-05-19
  • php回溯算法计算组合总和的实例代码

    在本篇文章里小编给大家整理的是一篇关于php回溯算法计算组合总和的实例代码,有需要的朋友们可以学习参考下。...2021-07-14