剑指offer-面试题21-调整数组顺序使奇数位于偶数前面-双指针
2024-08-29 22:47:51
/*
题目:
调整数组顺序使奇数位于偶数前面。
*/
/*
思路:
双指针:
一个指针last用于遍历,当为奇数时+1,
当为偶数时,交换last和pre指向的值,向前移动pre指针。
*/
#include<iostream>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stdio.h>
using namespace std; void reOrderArray(vector<int> &arr) {
if(arr.empty()) return;
int pre = 0,last = 0;
int length = arr.size(); while(last < length){
if(arr[last] & 0x1 == 1){
if(last != pre){
int temp = arr[last];
arr[last] = arr[pre];
arr[pre] = temp;
}
pre++;
}
last++;
}
} int main(){
int a[] = {2,4,6,8,1,3,5};
vector<int> arr(a,a+7);
reOrderArray(arr);
for(int i = 0; i < 7; i++){
cout<<arr[i]<<" ";
} }
最新文章
- [FromBody]与[FromUrl]
- 如何将Sphinx生成的html文档集成进入Django
- Asp.Net MVC<;七>;:Model
- 树莓派安装Transmission-daemon出现的问题
- 零配置Socket TCP消息通讯服务容器EC
- 新建我的 第一个maven项目
- IIS不定期Crash和Oracle“未处理的内部错误(-2)”的问题分析
- openerp学习笔记 context 的应用
- 数据结构(12) -- 图的邻接矩阵的DFS和BFS
- (2)html文本格式化 解说
- 好!recover-binary-search-tree(难)&; 两种好的空间O(n)解法 &; 空间O(1)解法
- kivy Grid Layout
- HTTP协议缓存策略深入详解之ETAG妙用
- Android系统匿名共享内存(Anonymous Shared Memory)Java调用接口分析
- win7系统IE浏览器主页被搜狗篡改问题的解决方法
- julia .文档
- iOS 上线过程中出现的问题总结
- C#中的一些基础
- Slick.js+Animate.css 结合让网页炫动起来
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第二课 (课堂笔记)