设为首页 加入收藏

TOP

剑指offer:调整数组顺序使奇数位于偶数前面(四)
2019-03-01 20:08:16 】 浏览:404
Tags:剑指 offer 整数 顺序 奇数位于 偶数 前面
l not print

real    0m2.146s
user    0m2.018s
sys    0m0.128s

耗时很短,内存占用少。

微信公众号【编程珠玑】:专注但不限于分享计算机编程基础,Linux,C语言C++,算法,数据库等编程相关[原创]技术文章,号内包含大量经典电子书和视频学习资源。欢迎一起交流学习,一起修炼计算机“内功”,知其然,更知其所以然。

扩展

在本题中,只是对整数是奇还是偶进行分开,那么如果是别的条件呢?例如是否为素数,是否为正数等等。我们可以让调用者传入一个条件函数,让它决定到底是放在后半部分,还是前半部分。这是不是很向库函数qsort需要传入一个比较函数的做法?这部分内容可以参考《函数指针》,根据这个思路,我们修改解法三的代码:


这个时候通过传入函数指针,可以对任意条件进行处理了。

总结

我们发现,一些基本算法的思想,通常可以用到其他问题上,而不同的思路,带来的效率可能天差地别。

练习

尝试自己实现上面的算法。如果需要保证奇数或偶数之间的相对位置不变,该如何修改?

备注

完整代码以及模拟一亿数据处理请访问:剑指offer:调整数组顺序使奇数位于偶数前面

微信公众号【编程珠玑】:专注但不限于分享计算机编程基础,Linux,C语言C++,算法,数据库等编程相关[原创]技术文章,号内包含大量经典电子书和视频学习资源。欢迎一起交流学习,一起修炼计算机“内功”,知其然,更知其所以然。

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇1-1 编程总结:查找整数 下一篇C语言中关于逗号运算符的理解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目