zoukankan      html  css  js  c++  java
  • Go语言实现:【剑指offer】调整数组顺序使奇数位于偶数前面

    该题目来源于牛客网《剑指offer》专题。

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

    Go语言实现:

    //冒泡排序
    func reOrderArray(arr []int) []int {
       length := len(arr) //arr长度不变写在外面,写在for循环里会多次调用len()函数
       for i := 0; i < length-1; i++ {
          for j := i + 1; j < length; j++ {
             if arr[i]%2 == 0 && arr[j]%2 == 1 {
                arr[i], arr[j] = arr[j], arr[i]
             }
          }
       }
       return arr
    }//临时数组
    func reOrderArray(arr []int) []int {
       temp := []int{}
       //arr长度变化,len()写在for循环里
       for i := 0; i < len(arr); {
          if arr[i]%2 == 0 {
             temp = append(temp, arr[i])
             //删除元素,index不变,不用i++
             arr = append(arr[:i], arr[i+1:]...)
          } else {
             i++
          }
       }
       //拼接arr
       l := len(temp)
       for j := 0; j < l; j++ {
          arr = append(arr, temp[j])
       }
       return arr
    }
    
  • 相关阅读:
    数据库之联合查询和连接查询
    数据库要素 ER
    数据库事务
    关系数据库常用名词及解释
    数据库索引
    关于数据库主键和外键(终于弄懂啦)
    coredata 删除与更新
    Predicate Programming Guide
    NSPredicate
    coreData-Fetching Managed Objects
  • 原文地址:https://www.cnblogs.com/dubinyang/p/12099400.html
Copyright © 2011-2022 走看看