zoukankan      html  css  js  c++  java
  • 剑指offer--面试题14--收获

    按照作者的说法,作为应届毕业生的我来说,如果能写出初级程序员的参考代码来解决面试题14就可认为过关了。。。

    参考代码如下:

    void ReorderOddEven_1(int *pData, unsigned int length)
    {
        if(pData == NULL || length == 0)
            return;
    
        int *pBegin = pData;
        int *pEnd = pData + length - 1;
    
        while(pBegin < pEnd)
        {
            // 向后移动pBegin,直到它指向偶数
            while(pBegin < pEnd && (*pBegin & 0x1) != 0)
                pBegin ++;
    
            // 向前移动pEnd,直到它指向奇数
            while(pBegin < pEnd && (*pEnd & 0x1) == 0)
                pEnd --;
    
            if(pBegin < pEnd)
            {
                int temp = *pBegin;
                *pBegin = *pEnd;
                *pEnd = temp;
            }
        }
    }

     说明:这里的pBegin < pEnd 都是很有必要的!!!

    该框架务必记住!!!

    如果要秒杀offer,则需要考虑程序功能的扩展性,比如用函数指针来代替各种各样的分类标准。。。

     解耦提高了代码重用性

    目标:1、快速的思维能力;2、提高代码重用性。

    清醒时做事,糊涂时读书,大怒时睡觉,独处时思考; 做一个幸福的人,读书,旅行,努力工作,关心身体和心情,成为最好的自己 -- 共勉
  • 相关阅读:
    Windows解决端口占用
    Oracle数字格式化
    Windows生成项目目录结构
    IDEA激活教程
    Windows搭建SMB服务
    在右键新建菜单中添加新项目
    Fastjson1.2.47反序列化+环境搭建+漏洞复现
    nmap常用命令及端口
    Shiro反序列化复现
    CVE-2020-0796漏洞复现
  • 原文地址:https://www.cnblogs.com/hello-yz/p/3251938.html
Copyright © 2011-2022 走看看