输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路:找到偶数,找到奇数,在这个区间内,各个位都向右移动,把奇数放到偶数的位置。
class Solution { public: void reOrderArray(vector<int> &array) { for (int i = 0; i < array.size(); i++){ if(array[i]%2==0){ for(int j=i+1;j< array.size();j++){ if((array[j]%2==1)){ int tmp = array[j]; for(int k =j;k>i;k--){ array[k]= array[k-1]; } array[i]=tmp; break; } } } } } };
View Code
原文链接: https://www.cnblogs.com/yuguangyuan/p/5884936.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/398126
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!