• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-21) 20次浏览 已收录 0个评论

本篇文章给大家带来的内容是关于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++){                //判断当<strong style="color:transparent">本文来源gaodai#ma#com搞@@代~&码*网/</strong><strong>搞gaodaima代码</strong>前元素是奇数                $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如何实现原址排序数组使奇数位于偶数前面(代码)的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php如何实现原址排序数组使奇数位于偶数前面(代码)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址