php如何实现原址排序数组使奇数位于偶数前面(代码)
内容导读
收集整理的这篇技术教程文章主要介绍了php如何实现原址排序数组使奇数位于偶数前面(代码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1247字,纯文字阅读大概需要2分钟。
内容图文
本篇文章给大家带来的内容是关于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如何实现原址排序数组使奇数位于偶数前面(代码)的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php如何实现原址排序数组使奇数位于偶数前面(代码)全部内容,希望文章能够帮你解决php如何实现原址排序数组使奇数位于偶数前面(代码)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。