对数组重新排列,使左边为奇数,右边为偶数
来源:互联网 发布:乘联会10月销量数据 编辑:程序博客网 时间:2024/05/05 11:44
思路:类似快速排序的原理
方法一:
void partition1(vector<int> &a){if(a.empty())return;int left = 0, right = a.size() - 1;while(left < right){while(left < right && a[left] % 2 == 1)left++;while(left < right && a[right] % 2 == 0)right--;swap(a[left], a[right]);}}
方法二:
void partition2(vector<int> &a){if(a.empty())return;int m = 1;for(int i = 1; i < a.size(); i++){if(a[i] % 2 == 1){swap(a[i], a[m]);m++;}}swap(a[m], a[0]);}
0 0
- 对数组重新排列,使左边为奇数,右边为偶数
- 重新排列数组使得左边为奇数,右边为偶数
- 重新排列数组,使得数组左边的数字为奇数,数组右边的数字为偶数
- 重新排列数组使得数组左边为奇数,右边为偶数
- 重新排列数组使得数组左边为奇数,右边为偶数
- 160 重新排列数组使得数组左边为奇数,右边为偶数
- 重新排列数组使得数组左边为奇数,右边为偶数--方法三
- 如何重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 编程: 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数---百度笔试题
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 题目:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- POJ 2388 Who's in the Middle 快排解法
- OpenGL材料参数设置
- zedboard VmodCAM 图像采集 HDMI输出显示
- IP 地址的一些重要特点
- OpenGL中的光照
- 对数组重新排列,使左边为奇数,右边为偶数
- 【P000-011】重构交易费计算系统
- POJ 2993 Emag eht htiw Em Pleh (模拟)(strtok 应用)
- Windows环境下ARM集成开发环境的搭建与使用
- POJ训练计划1936_All in All(串处理)
- Message Broker 教程大纲
- 一句话说清NI公司的LabView、CVI、MeasurementStudio三者之间的区别
- sizeof
- 虚拟局域网VLAN