【剑指 offer】(十四)—— 调整数组顺序使奇数位于偶数之前
2016-04-09 12:51
239 查看
维护两个指针,第一个指针初始化时指向数组的第一个数字,它只向后移动(++),另一个指针初始化时指向数组的最后一个数字,它只向前移动(–)。在两个指针相遇之前,第一个指针总是位于第二个指针的前面。如果第一个指针指向的数字是偶数,第二个指针指向的数字是计数,就交换这两个数字。
void ReorderOddEven(int* seq, int n) { if (!seq || n <= 0) return; int s = 0, t = n - 1; while (s < t) { while (s < t && seq[s] & 1) ++s; while (s < t && (seq[t] & 1) == 0) --t; if (s < t) swap(seq[s], seq[t]); } }
相关文章推荐
- CSS框模型_内边距&边框&外边距
- JavaScript基础(一)
- Servlet JSP
- 梳理caffe代码solver(十四)
- 结构-行为-样式-Angularjs-ngSanitize
- 动态创建Dom元素,并设置属性和类----JS&JQ
- js 置顶操作
- 使用html设计界面
- js input输入数量控制
- <css 一>background
- 收集的各种css reset方法总有一款是适合你的
- 【笔记】 《js权威指南》- 第17章 事件处理 - 17.4 - 17.6
- 解决Bootstrap模态窗口Modal中使用Kindeditor或UEditor编辑器第二次无法加载的问题
- Angularjs学习笔记5_form1
- 【剑指 offer】(十三)—— 在 O(1) 时间删除链表结点
- javascript面向对象
- 2016 最好的Bootstrap 管理模板
- Servlet Response JSON
- jspSmartUpload上传图片的路径问题
- 纯CSS实现各类气球泡泡对话框效果