剑指offer(13)—调整数组顺序使奇数位于偶数前面
2017-08-26 23:34
246 查看
调整数组顺序使奇数位于偶数前面
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路
插入排序思想,i从0~n-2,若i+1处的值为奇数,则向前查找,不断与前面的偶数交换位置,即将奇数不断的插入到偶数之前。代码
class Solution { public: void reOrderArray(vector<int> &array) { int i,j; int n = array.size(); for(i=0; i<n-1; i++){ if(array[i+1]%2==1){ int cur = array[i+1]; for(j=i; j>=0 && array[j]%2==0; j--){ int tmp = array[j+1]; array[j+1] = array[j]; array[j] = tmp; } array[j+1] = cur; } } return; } };
相关文章推荐
- 剑指Offer(13)______调整数组顺序使奇数位于偶数前面
- 剑指offer-13.调整数组顺序使奇数位于偶数前面
- 剑指offer:(13)代码的完整性: ]调整数组顺序使奇数位于偶数前面
- 《剑指offer》刷题笔记(代码完整性):调整数组顺序使奇数位于偶数前面
- 剑指Offer——调整数组顺序使奇数位于偶数前面
- 《剑指offer》调整数组顺序使奇数位于偶数前面
- 剑指offer-调整数组顺序使奇数位于偶数前面-Java
- 剑指offer——调整数组顺序使奇数位于偶数前面
- 剑指offer 14 调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14(Java版):调整数组顺序使奇数位于偶数的前面
- 《剑指offer》面试题21:调整数组顺序使奇数位于偶数前面
- 《剑指offer》牛客网java题解-调整数组顺序使奇数位于偶数前面
- 《剑指offer14——调整数组顺序使奇数位于偶数前面》
- 《剑指offer》调整数组顺序使奇数位于偶数前面
- 《剑指Offer》学习笔记--面试题14:调整数组顺序使奇数位于偶数前面
- 【经典算法】:剑指offer(08)-调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14~调整数组顺序使奇数位于偶数前面
- 《剑指offer》-调整数组顺序使奇数位于偶数前面
- 牛客网《剑指Offer》 调整数组顺序使奇数位于偶数前面
- 剑指offer面试题21:调整数组顺序使奇数位于偶数前面