数组重排序(如何将所有奇数都放在所有偶数前面)
题目
数组重排序(如何将所有奇数都放在所有偶数前面)
答案
这里介绍一种高效的能在O(n)时间复杂度内完成的算法.
核心思想是:定义两个指针,一个指针A从前往后扫描,一个指针B从后往前扫描.指针A扫描到偶数暂停,指针B扫描到奇数暂停,然后交换着两个数,交换之后继续如上述扫描和交换,直到指针A和指针B重合停止.
这个算法的Java代码如下:
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 实验室常用加热氯酸钾(Kclo3)和二氧化锰固体混合物制取氧气,同时生成氯化钾固体.将20g氯酸钾和二氧化锰的混合物加热,完全反应后,测得剩余固体的质量为15.2g,则原混合物中含有多少氯酸钾?
- 函数f(x)=3sinx−cosx(0≤x≤π)的最小值为( ) A.-2 B.1 C.−3 D.-1
- 有氢气、乙烯的混合气体,其中乙烯的体积分数为a%,取此混合气体1L,用催化剂在加热条件下使其发生加成
- 现在很多企业用安全"理念"这个词语,是不是从外国传到中国的?
- 急求一篇题目为《扬起理想的风帆》的论文,2000字左右
- 已知三角形ABC的内叫A,B,C所对的边分别是a,b,c,且a=2,COSB=3/5,若b=4,求SINA的值(2)三角形ABC的面积是4,求b,c值
- Did you see her film yesterday __?Yse ,__I missde the beginning.
- 稀盐酸与氢氧化铁反应吗?如果反应请写出化学反应方程式
- 5520小时等于几天?几个月?
- 如果函数F(x)=x.x-bx+2在闭区间[-1,2]上有反函数,那么实数b的取值范围是