PHP输出数组偶数位置,如何用PHP实现数组中偶数位置元素大于奇数位置元素?
本篇文章主要给大家介绍如何用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实现数组中偶数位置元素大于奇数位置元素?相关推荐
- php计算200以内偶数的和并输出_如何用PHP实现数组中偶数位置元素大于奇数位置元素?...
本篇文章主要给大家介绍如何用PHP重新排列数组,并使偶数位置的元素大于奇数位置的元素. 给定一个包含n个元素的数组A,根据以下关系对数组进行排序: 如果i是偶数,则A[i] >= A[i-1]. ...
- mysql查找字符第n次出现位置_查找字符在字符串中第N次出现的位置
1.查找字符串 @find 在字符串 @str 中第 (@n) 次出现的位置.没有第 (@n) 次返回 0. 返回@find在@str中第(@n)次出现的位置.没有第(@n)次返回0. create ...
- c语言如何用printf输出数组,C语言如何用printf打印数组问题
#include //增加头文件printf()用到 int main() { int a[5]={1,2,3,8,9}; //printf("%d",a[5]); //a[5 ...
- php如何统计数组的个数,如何用php统计数组元素的个数(附代码)
这篇文章主要介绍了php统计数组元素个数的方法的相关资料,需要的朋友可以参考下 count():对数组中的元素个数进行统计; sizeof():和count()具有同样的用途,这两个函数都可以返回数组 ...
- python列表中互换位置_如何在Python列表中切换两个项目的位置?
I haven't been able to find a good solution for this problem on the net (probably because switch, po ...
- 找到指针的奇数位置 c语言,(ppt)【C语言程序设计】上机作业2010.ppt
(ppt)[C语言程序设计]上机作业2010 <C程序设计>上机作业 上机时间: 第6周周日上午8:30~11:30, 第8.10.12周周二晚上6:50~9:50 上机地点:科A506 ...
- 在 LaTeX 中调整图片和表格的位置
原 文:Positioning images and tables 译 者:Xovee 翻译时间:2020年10月30日 在 LaTeX 中调整图片和表格的位置 LaTeX 的核心理念之一即是让你 ...
- (C语言)找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小,也可能没有鞍点。存在则输出坐标;否则输出 -1.
#include<stdio.h> /* 找出一个二维数组中的鞍点,即该位置上的元素在该行最大, 在该列上最小,也可能没有鞍点.存在则输出坐标:否则输出 -1. */ int main(v ...
- js调整数组某些元素到指定位置顺序_如何将一个 JavaScript 数组打乱顺序?
1)首先,毫无疑问: @顾轶灵 轶灵大佬给出的Fisher–Yates shuffle 洗牌算法是最完美乱序的算法/方法之一了,正解无疑. 2)同时,很多答案提到了: [12,4,16,3].sort ...
最新文章
- php sqlsrv_query,sqlsrv_query
- 过分了,又双叒叕吃狗粮:因为爱情,才有思科
- 浅谈高性能数据库集群——读写分离
- ArcGIS AddIN开发异常之--修饰符“static”对该项无效
- Eureka Server
- webpack4.x版本与webpack-cli高版本之间存在的bug
- 鼠标经过图片抖动效果
- iOS 根据日期判断星座源代码
- 浙江科技学院计算机辅助教育试卷,(下册).-浙江科技学院经济与管理学院.doc
- Linux运维系统工程师与java基础学习系列-1
- 【ACL2020放榜!】事件抽取、关系抽取、NER、Few-Shot 相关论文整理
- Ubuntu 12.04安装及配置vsftp步骤
- 帧中继环境下Ping的实现
- 欺骗的艺术.资料搜集自互联网.
- 微信APP支付开发步骤及要点
- 用ansi语法美化你的winrar和win启动界面 【 抄袭至互联网 作者不明】
- express-urlrewrite express url重写
- 欢迎来到Wagtail的文档
- php判断无理数,重新整理证明:无理数在数轴上不存在的逻辑证明
- 几款漂亮的Eclipse编辑器皮肤
热门文章
- java向数据库插入数据时的错误: Duplicate entry ‘‘ for key ‘PRIMARY‘ 问题解决
- Python turtle库绘制同心圆
- App Store上IPhone必玩的优秀游戏介绍
- [RO]机器人传感器 Sensor
- ffmpeg集成fdk_aac (windows)
- 华为官宣40款手机升级鸿蒙,官宣!华为手机将全面升级鸿蒙
- WORD表格续表设置
- 关于显卡HDMI接口接电视和蓝牙耳机只有单声道的问题
- 【转】不归零码(NRZ),不归零码(NRZ)是什么意思
- 校招来了!我们是 Zilliz 研发效能部门