• 调整数组顺序使得奇数位于偶数前面


    c++

    空间换时间

     1 class Solution {
     2 public:
     3     void reOrderArray(vector<int> &array) {
     4         vector<int> res1;
     5         vector<int> res2;
     6         for(int i=0;i<array.size();i++){
     7             if(array[i]%2==0) res2.push_back(array[i]);
     8             else res1.push_back(array[i]);
     9         }
    10         res1.insert(res1.end(),res2.begin(),res2.end());
    11         array = res1;
    12     }
    13 };

    时间换空间

     1 class Solution {
     2 public:
     3     void reOrderArray(vector<int> &array) {
     4         //先找第一个偶数,因为是要将偶数向后移动的
     5         int length = array.size();
     6         for(int i=0;i<length;i++){
     7             if(array[i]%2==0){
     8                 //在找这个偶数后面的第一个奇数
     9                 for(int j=i;j<length;j++){
    10                     if(array[j]%2==1){
    11                         int temp=array[j];
    12                         while(j>i){
    13                             array[j]=array[j-1];
    14                             j--;
    15                         }
    16                         array[i]=temp;//此时的i位置已经是奇数了,继续下一轮i的循环
    17                         break;
    18                     }
    19                 }
    20             }
    21         }
    22     }
    23 };

    类似于冒泡排序

     1 class Solution {
     2 public:
     3     void reOrderArray(vector<int> &array) {
     4  
     5          
     6         for (int i = 0; i < array.size();i++)
     7         {
     8             for (int j = array.size() - 1; j>i;j--)
     9             {
    10                 if (array[j] % 2 == 1 && array[j - 1]%2 == 0) //前偶后奇交换
    11                 {
    12                     swap(array[j], array[j-1]);
    13                 }
    14             }
    15         }
    16     }
    17 };
  • 相关阅读:
    Revit扩展组件介绍之_AdWindow
    PropertyGrid使用总结5 UITypeEditor
    PropertyGrid使用总结4 IcustomTypeDescriptor
    PropertyGrid使用总结3 Descriptor
    PropertyGrid使用总结2 TypeConverter
    JavaScript之Ajax学习
    JavaScript正则表达式
    JavaScript面向对象学习笔记
    node入门学习1
    JavaScript随笔8
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11137359.html
Copyright © 2020-2023  润新知