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实现基于pdo的事务处理方法示例

本文实例讲述了php实现基于pdo的事务处理方法。分享给大家供大家参考,具体如下: 实例1: try {} catch () {} 形式 <?php $dsn = 'm...

Laravel模板引擎Blade中section的一些标签的区别介绍

Laravel 框架中的 Blade 模板引擎,很好用,但是在官方文档中有关 Blade 的介绍并不详细,有些东西没有写出来,而有些则是没有说清楚。比如,使用中可能会遇到这样的问题: 1...

PHP自带方法验证邮箱是否存在

PHP自带方法验证邮箱是否存在

PHP校验邮箱地址的方法很多, 比较常用的就是自己写正则了, 不过正则多麻烦, 我PHP自带了方法做校验。 filter_var filter_var是PHP内置的一个变量过滤的方法,...

PHP快速排序算法实现的原理及代码详解

PHP快速排序算法实现的原理及代码详解

算法原理 下列动图来自五分钟学算法,演示了快速排序算法的原理和步骤。 步骤: 从数组中选个基准值 将数组中大于基准值的放同一边、小于基准值的放另一边,基准值位于中间位置 递归的对分...

PHP数字金额转换成中文大写显示

整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的! 思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理 代码附上: function...