各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php如何实现原址排序数组使奇数位于偶数前面(代码)

管理员 2023-09-05
PHP
120

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如何实现原址排序数组使奇数位于偶数前面(代码)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部