本篇文章主要给大家介绍如何用PHP重新排列数组,并使偶数位置的元素大于奇数位置的元素。

给定一个包含n个元素的数组A,根据以下关系对数组进行排序:

如果i是偶数,则A[i] >= A[i-1]。

如果i是奇数,则A[i] <= A[i-1]。

打印结果数组。

例子:输入:A[] = {1,2,2,1}输出:1,2,1,2

注:

对于第一个元素,1 1,i = 2是偶数。

第三个元素1 1,i = 4是偶数。

输入:A[] = {1,3,2}

输出:1 3 2

注:

这里,数组也按照条件排序。

1 1和2 < 3。

观察该数组由[n/2]偶数位置的元素组成。如果我们把最大的[n/2]元素分配到偶数位置,其余的元素分配到奇数位置,我们的问题就解决了。因为奇数位置的元素总是小于偶数位置的元素,因为它是最大元素,反之亦然。排序数组并在偶数位置分配第一个[n/2]元素。

以下是上述方法的PHP实现方法:<?php

// PHP程序重新排列数组中的元素,使偶数位置的元素大于奇数位置的元素

function assign($a, $n)

{

//排序数组

sort($a);

$p = 0; $q = $n - 1;

for ($i = 0; $i < $n; $i++)

{

// 分配具有最大元素的索引

if (($i + 1) % 2 == 0)

$ans[$i] = $a[$q--];

// 用剩余元素分配奇数索引

else

$ans[$i] = $a[$p++];

}

for ($i = 0; $i < $n; $i++)

echo($ans[$i] . " ");

}

$A = array( 1, 3, 2, 2, 5 );

$n = sizeof($A);

assign($A, $n);

输出:1 5 2 3 2

相关推荐:《PHP教程》

本篇文章就是关于用PHP重新排列数组,并使偶数位置的元素大于奇数位置的元素的方法介绍,希望对需要的朋友有所帮助!

PHP输出数组偶数位置,如何用PHP实现数组中偶数位置元素大于奇数位置元素?相关推荐

  1. php计算200以内偶数的和并输出_如何用PHP实现数组中偶数位置元素大于奇数位置元素?...

    本篇文章主要给大家介绍如何用PHP重新排列数组,并使偶数位置的元素大于奇数位置的元素. 给定一个包含n个元素的数组A,根据以下关系对数组进行排序: 如果i是偶数,则A[i] >= A[i-1]. ...

  2. mysql查找字符第n次出现位置_查找字符在字符串中第N次出现的位置

    1.查找字符串 @find 在字符串 @str 中第 (@n) 次出现的位置.没有第 (@n) 次返回 0. 返回@find在@str中第(@n)次出现的位置.没有第(@n)次返回0. create ...

  3. c语言如何用printf输出数组,C语言如何用printf打印数组问题

    #include  //增加头文件printf()用到 int main() { int a[5]={1,2,3,8,9}; //printf("%d",a[5]);  //a[5 ...

  4. php如何统计数组的个数,如何用php统计数组元素的个数(附代码)

    这篇文章主要介绍了php统计数组元素个数的方法的相关资料,需要的朋友可以参考下 count():对数组中的元素个数进行统计; sizeof():和count()具有同样的用途,这两个函数都可以返回数组 ...

  5. python列表中互换位置_如何在Python列表中切换两个项目的位置?

    I haven't been able to find a good solution for this problem on the net (probably because switch, po ...

  6. 找到指针的奇数位置 c语言,(ppt)【C语言程序设计】上机作业2010.ppt

    (ppt)[C语言程序设计]上机作业2010 <C程序设计>上机作业 上机时间: 第6周周日上午8:30~11:30, 第8.10.12周周二晚上6:50~9:50 上机地点:科A506 ...

  7. 在 LaTeX 中调整图片和表格的位置

    原  文:Positioning images and tables 译  者:Xovee 翻译时间:2020年10月30日 在 LaTeX 中调整图片和表格的位置 LaTeX 的核心理念之一即是让你 ...

  8. (C语言)找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小,也可能没有鞍点。存在则输出坐标;否则输出 -1.

    #include<stdio.h> /* 找出一个二维数组中的鞍点,即该位置上的元素在该行最大, 在该列上最小,也可能没有鞍点.存在则输出坐标:否则输出 -1. */ int main(v ...

  9. js调整数组某些元素到指定位置顺序_如何将一个 JavaScript 数组打乱顺序?

    1)首先,毫无疑问: @顾轶灵 轶灵大佬给出的Fisher–Yates shuffle 洗牌算法是最完美乱序的算法/方法之一了,正解无疑. 2)同时,很多答案提到了: [12,4,16,3].sort ...

最新文章

  1. php sqlsrv_query,sqlsrv_query
  2. 过分了,又双叒叕吃狗粮:因为爱情,才有思科
  3. 浅谈高性能数据库集群——读写分离
  4. ArcGIS AddIN开发异常之--修饰符“static”对该项无效
  5. Eureka Server
  6. webpack4.x版本与webpack-cli高版本之间存在的bug
  7. 鼠标经过图片抖动效果
  8. iOS 根据日期判断星座源代码
  9. 浙江科技学院计算机辅助教育试卷,(下册).-浙江科技学院经济与管理学院.doc
  10. Linux运维系统工程师与java基础学习系列-1
  11. 【ACL2020放榜!】事件抽取、关系抽取、NER、Few-Shot 相关论文整理
  12. Ubuntu 12.04安装及配置vsftp步骤
  13. 帧中继环境下Ping的实现
  14. 欺骗的艺术.资料搜集自互联网.
  15. 微信APP支付开发步骤及要点
  16. 用ansi语法美化你的winrar和win启动界面 【 抄袭至互联网 作者不明】
  17. express-urlrewrite express url重写
  18. 欢迎来到Wagtail的文档
  19. php判断无理数,重新整理证明:无理数在数轴上不存在的逻辑证明
  20. 几款漂亮的Eclipse编辑器皮肤

热门文章

  1. java向数据库插入数据时的错误: Duplicate entry ‘‘ for key ‘PRIMARY‘ 问题解决
  2. Python turtle库绘制同心圆
  3. App Store上IPhone必玩的优秀游戏介绍
  4. [RO]机器人传感器 Sensor
  5. ffmpeg集成fdk_aac (windows)
  6. 华为官宣40款手机升级鸿蒙,官宣!华为手机将全面升级鸿蒙
  7. WORD表格续表设置
  8. 关于显卡HDMI接口接电视和蓝牙耳机只有单声道的问题
  9. 【转】不归零码(NRZ),不归零码(NRZ)是什么意思
  10. 校招来了!我们是 Zilliz 研发效能部门