php判断一个数组是否为有序的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php判断一个数组是否为有序的方法。分享给大家供大家参考。具体分析如下:

这段代码的时间复杂度为O(n)

<?php 
function JudegSortArray($array) {
  if ($array [0] > $array [1]) {
    $flag = 1;
  } else {
    $flag = 0;
  }
  $temp = $flag;
  $len = count ( $array );
  for($i = 1; $i < $len; $i ++) {
    if ($flag == 0) {
      if ($array [$i] < $array [$i + 1])
      {
        continue;
      } else {
        $flag = 1;
        break;
      }
    }
    if ($flag == 1) {
      if ($array [$i] > $array [$i + 1]) {
        continue;
      } else
      {
        $flag = 0;
        break;
      }
    }
  }
  if ($flag != $temp) {
    echo "无序数组";
  } else {
    echo "有序数组";
  }
}
// 测试用例
$array = array (
    1,
    2,
    3,
    4,
    6,
    5
);
$ret = JudegSortArray ( $array );
echo $ret;

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP合并数组的2种方法小结

前言 在此前合并数组我一直用的是array_merge()这个函数,但最近我在换工作的时候遇到一道合并数组的面试题,我当时想的是将两个数组先转化为字符串,合并后再转化为数组输出,面试官说...

兼容性比较好的PHP生成缩略图的代码

复制代码 代码如下: function ImageResize($srcFile,$toW,$toH,$toFile="") { if($toFile==""){ $toFile = $...

php-app开发接口加密详解

自己平时工作中用到的一套接口加密规则,记录下来以后用: /** inc 解析接口 客户端接口传输规则: 1.用cmd参数(base64)来动态调用不同的接口,接口地址统一为 htt...

php 静态变量的初始化

例如: class A { public $f1 = 'xxxx'; static public $f2 = 100; } 如果要将变量赋值为对象,那么只能在构造器中进行初始化,例如:...

php IP转换整形(ip2long)的详解

如何将四个字段以点分开的IP网络址协议地址转换成整数呢?PHP里有这么一个函数ip2long.比如复制代码 代码如下:<?phpecho ip2long("10.2.1.3");?...