每天一道算法题——奇偶数划分
来源:互联网 发布:手机管家婆软件下载 编辑:程序博客网 时间:2024/06/05 23:52
要求:有一个整数数组,写一个函数,实现奇数奇数在左,偶数在右。
例子:a[10] = {2,4,3,5,7,8,1,9,6,10},其中a[10] = {3,5,7,1,9,2,4,8,6,10}是一个合法的输出。
分析:
方法一:遍历一遍数组,vector1存奇数,vector2存偶数,然后vector2加到vector1后面。
方法二:快排的思想,首尾两个指针,向前向后遍历,交换奇偶数。
代码:
方法1:
void fun1(int a[],int N){ vector<int> v1; vector<int> v2; for(int i=0;i<10;i++) { if(a[i]&1) { v1.push_back(a[i]); } else { v2.push_back(a[i]); } } v1.insert(v1.end(),v2.begin(),v2.end()); vector<int>::iterator it1 = v1.begin(); for(;it1!=v1.end();it1++) { cout<<*it1<<endl; }}方法二:
void fun2(int a[],int N){int m = 0;int n = N-1;while(m!=n+1){if(!(a[m]&1)){int temp = a[m];a[m] = a[n];a[n] = temp;n--;}else{m++;}}for(int i=0;i<10;i++){cout<<a[i]<<" ";}}
阅读全文
0 0
- 每天一道算法题——奇偶数划分
- 每天一道算法题——每天一道算法题
- 每天一道算法题——汉诺塔
- 每天一道算法题——
- 每天一道算法题(10)——数对之差的最大值
- 每天一道算法题(32)——输出数组中第k小的数
- 每天一道算法题——亮着电灯的盏数
- 每天一道算法题——二进制数中1的个数
- 【每天一道算法题】
- 【每天一道算法题】
- 【每天一道算法题】
- 每天一道算法题19 寻找丑数
- 每天一道算法题19 寻找丑数
- 每天一道算法题19 寻找丑数
- 每天一道算法题(16)——翻转链表
- 每天一道算法题(22)——扑克牌的顺子
- 每天一道算法题(23)——约瑟夫环问题
- 每天一道算法题(31)——正数减法
- A
- IntelliJ IDEA基本配置
- Storm目录树、任务提交、消息容错、通信机制
- 数组实现斐波那契数列
- 最新通达OA破解|通达OA2017破解补丁|通达OA2017最新破解版
- 每天一道算法题——奇偶数划分
- python常见的错误
- pip.exe install xx 调试
- AsyncTask
- 亲测通过--Redis 环境搭建
- 网络状态判断
- 二维数组初始化及首地址
- Asteroids
- shiro使用总结-简单实现