php如何完成原址排序数组使奇数位于偶数前面(代码)
发表时间:2025-10-30 来源:浏览器大全整理相关软件相关文章人气:
网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是关于php如何实现原址排序数组使奇数位于偶数前面(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
1、遍历数组,判断元素奇数偶数,push进新数组,空间换时间
2、插入排序的思想 空间上是原址排序
2.1从前往后遍历,判断当前的是奇数
2.2从当前的开始,从后往前遍历,如果是偶数就往后一位移动
2.3当前奇数插入位置
for i=1;i<arr.length;i++
target=arr[i]
if arr[i]%2==1
j=i-1
while j>=0&&arr[j]%2==0
arr[j+1]=arr[j]
j--
arr[j+1]=target<?php
$arr=array(1,2,3,4,5,6,7,8,9,10);
function reOrderArray($arr){
$length=count($arr);
//从前往后遍历
for($i=1;$i<$length;$i++){
//判断当前元素是奇数
$target=$arr[$i];
if($target%2==1){
//从后往前遍历,如果有偶数就往后移动一位
$j=$i-1;
while($j>=0 && $arr[$j]%2==0){
$arr[$j+1]=$arr[$j];
$j--;
}
//把奇数插入位置
$arr[$j+1]=$target;
}
}
return $arr;
}
$arr2=reOrderArray($arr);
var_dump($arr2);array(10) {
[0]=>
int(1)
[1]=>
int(3)
[2]=>
int(5)
[3]=>
int(7)
[4]=>
int(9)
[5]=>
int(2)
[6]=>
int(4)
[7]=>
int(6)
[8]=>
int(8)
[9]=>
int(10)
}以上就是php如何实现原址排序数组使奇数位于偶数前面(代码)的详细内容,更多请关注php中文网其它相关文章!
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。