给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
2013-03-04 22:46
501 查看
给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
分类: c/c++ 数据结构+算法2011-07-1622:40 594人阅读 评论(0) 收藏 举报
[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 重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个整数数组,通过变换使得数组的左边为奇右边为偶数!
- 重新排列数组使得数组左边为奇数,右边为偶数
- 重新排列数组使得左边为奇数,右边为偶数