设为首页 加入收藏

TOP

交换两个元素的值(一)
2014-03-10 12:53:05 来源: 作者: 【 】 浏览:256
Tags:交换 两个元素

  交换两个元素的值

  交换两个元素的值,有传指针和传引用两种方式,这里需要注意的是引用一旦定义必须赋值,一旦赋值不能更改,对象a的引用就是a的别名(alias)。

  (1)int &a;//a是int类型的引用

  (2)int *a;//a是int类型的指针

  (3)int *&a;//a是int*类型的引用,也就是a是指针的引用

  可以用下面示意图解释

  第一种交换方式,传递引用,swap1(int &x, int &y);第二种方式,传递指针swap2(int *x, int *y),第三种方式传递指针引用swap3(int*(&x), int*(&y))。分别如下所示

  可以看到第一、二种方式交换的是数值,第三种方式交换的是指针。

  附代码

  1 #include

  2

  3

  4 void swap1(int &x, int &y)

  5 {

  6 int temp = x;

  7 x = y;

  8 y = temp;

  9 }

  10

  11 void swap2(int *x, int *y)

  12 {

  13 int temp;

  14 temp = *x;

  15 *x = *y;

  16 *y = temp;

  17 }

  18

  19 void swap3(int*(&x), int*(&y))

  20 {

  21 int *temp;

  22 temp = x;

  23 x = y;

  24 y = temp;

  25 }

  26

  27 int main()

   

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇记忆化搜索算法之动态规划 下一篇C++归并排序实现(算法导论)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)
·TCP和UDP在socket编 (2025-12-26 02:20:32)
·有没有适合新手练习 (2025-12-26 01:48:47)
·用清华镜像网怎么下 (2025-12-26 01:48:44)