给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
2012-08-08 10:32
441 查看
[cpp] view plaincopyprint? /* 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。 //*/ #include <iostream> #include <iomanip> #include <limits> using namespace std; void swap_int(int& a, int& b) { int t = a; a = b; b = t; } int main() { int numel[] = {1, 23, 2, 34, 21, 45, 26, 22, 41, 66, 74, 91, 17, 64}; int sz = sizeof(numel)/sizeof(numel[0]); for(int i =0; i<sz; ++i){ cout << numel[i] << " "; } cout << endl; int begin = 0; int end = sz -1; while(begin < end){ while(numel[begin]%2 == 1 && end > begin){ ++begin; } while(numel[end]%2 == 0 && end > begin){ --end; } swap_int(numel[begin], numel[end]); } for(int i =0; i<sz; ++i){ cout << numel[i] << " "; } cout << endl; return 0; }
相关文章推荐
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 4.给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 题目:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。要求:空间复杂度O(1),时间复杂度为O(n)
- 编程: 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数---百度笔试题
- 给定一个整数数组,重新排列数组使其左边奇数,右边偶数
- 【每天一道算法题】给定一个存放整数的数组,要求数组左边为奇数,右边为偶数
- 160 重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个整数数组,通过变换使得数组的左边为奇右边为偶数!
- 重新排列数组使得数组左边为奇数,右边为偶数
- 重新排列数组使得左边为奇数,右边为偶数