题解 | #编写函数实现两数交换(引用方式)#

编写函数实现两数交换(引用方式)

http://www.nowcoder.com/practice/19ff3da82df740a9a662aaf59aa41c5d

题意整理。

  • 实现两个整数的交换。
  • 要求使用引用方式实现。

方法一(交换地址)

1.解题思路

  • swap函数中,如果不加地址符,交换是两个变量的值,如果加了地址符,则交换的是引用。

图解展示: alt

2.代码实现

#include <iostream>
using namespace std;

//交换m、n
void swap(int &m,int &n){
    //将m的地址给temp
    int temp=m;
    //将n的地址赋给m
    m=n;
    //将temp保存的地址重新赋给n
    n=temp;
}

int main() {

    int m, n;
    cin >> m;
    cin >> n;

    //调用swap函数
    swap(m,n);

    cout << m << " " << n << endl;

    return 0;
}

3.复杂度分析

  • 时间复杂度:需要进行常数次操作,所以时间复杂度为O(1)O(1)O(1)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)O(1)
xqxls的题解 文章被收录于专栏

牛客题解

全部评论

相关推荐

点赞 评论 收藏
分享
浩浩没烦恼:一二面加起来才一个小时? 我一面就一个小时多了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务