20140626电话面试

你的名字 2022-08-24 05:14 231阅读 0赞

(1)两个变量不通过中间变量如何实现互换

我是这么想的

假设2个变量是整数或者字符(字符也可转换为数字,故等同处理)。参考了网络上一些解决方案;其基本方法是进行代数和逻辑上的变换和值累加。第一种是加减法

swap(Int &a ,int &b)

{

a +=b;

b=a-b;

a =a-b;

}

第二种是异或法

void swap1(elem &a,elem &b)
{
a = a^b;
b = a^b;
a = a^b;
}

第三种是用内嵌汇编的方法

_asm
{
push a;
push b;
pop a;
pop b;
}

第四种是用输出格式 printf直接互换

printf(“a = %c \n b = %c \t”,b,a,);

以上4中方法亲测可行,不过第三种方法有一些问题,但是用内嵌汇编肯定是可行的

发表评论

表情:
评论列表 (有 0 条评论,231人围观)

还没有评论,来说两句吧...

相关阅读

    相关 DELL EMC电话面试

    1. 先英文介绍 2. 用英文提问了,你用过哪些语言,那种语言你最喜欢?原因 3. 算法题:给一个单链表,给一个指针指向某个节点,要求删除这个节点。(一开始没反映过来,后面

    相关 20140626电话面试

    (1)两个变量不通过中间变量如何实现互换 我是这么想的 假设2个变量是整数或者字符(字符也可转换为数字,故等同处理)。参考了网络上一些解决方案;其基本方法是进行代数和逻辑上

    相关 阿里电话面试详解

    上一篇疏忽了一个问题,面试官还问了这么一个问题:深拷贝和浅拷贝,当时只是说了一下概念,并不会仔细说来。查了一下资料,做个总结: 对于普通类型的对象来说,它们之间的复制是很简单

    相关 阿里电话面试题详解

    1.andriod中如何实现缓存? 采用缓存,可以进一步大大缓解数据交互的压力,又能提供一定的离线浏览。下边我简略列举一下缓存管理的适用环境: 1. 提供网络服务的应用

    相关 阿里一面(电话面试

    今天下午突然接到阿里的面试电话,挺紧张的,毕竟是一次好的机会,唉,他紧张了,以后得注意。下面做个总结。 接到第一个电话,首先自我介绍一下。。。。。。,然后,你做的挺多的,这里

    相关 阿里电话面试

    1. 常用的归一化。各自的作用 [机器学习-数据归一化及哪些算法需要归一化][-] 2. KMeans的步骤以及其他的聚类算法   K-均值是因为它可以发现k个不同的