zoukankan      html  css  js  c++  java
  • 第一周:程序设计与算法(三)

    001:简单的swap

     1 #include <iostream>
     2 using namespace std;
     3 class A
     4 {
     5     public:
     6     int x;
     7     int getX() { return x; }    
     8 };
     9 void swap(
    10 // 在此处补充你的代码
    11 //通过引用完成交换
    12 A &a,A &b
    13 )
    14 {
    15     int  tmp = a.x;
    16     a.x = b.x;
    17     b.x = tmp;
    18 }
    19 int main()
    20 {
    21     A a,b;
    22     a.x = 3;
    23     b.x = 5;
    24     swap(a,b);
    25     cout << a.getX() << "," << b.getX();
    26     return 0;
    27 }

    002难一点的swap

     1 #include <iostream>
     2 using namespace std;
     3 
     4 void swap(
     5 // 在此处补充你的代码
     6 //这个就高级了,通过引用地址交换地址来实现swap功能
     7 int* &a,int* &b
     8 )
     9 {
    10     int * tmp = a;
    11     a = b;
    12     b = tmp;
    13 }
    14 int main()
    15 {
    16     int a = 3,b = 5;
    17     int * pa = & a;
    18     int * pb = & b;
    19     swap(pa,pb);
    20     cout << *pa << "," << * pb;
    21     return 0;
    22 }

    003:好怪异的返回值

     1 #include <iostream>
     2 using namespace std;
     3 // 在此处补充你的代码
     4 //目的是为了引用函数
     5 int &
     6 getElement(int * a, int i)
     7 {
     8     return a[i];
     9 }
    10 int main()
    11 {
    12     int a[] = {1,2,3};
    13     getElement(a,1) = 10;
    14     cout << a[1] ;
    15     return 0;
    16 }

    004:神秘的数组初始化

     1 #include <iostream>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     int * a[] = {
     7 // 在此处补充你的代码
     8 //数组的“吊炸天”初始化
     9 NULL,NULL,new int,new int[6]
    10 };
    11     
    12     *a[2] = 123;
    13     a[3][5] = 456;
    14     if(! a[0] ) {
    15         cout << * a[2] << "," << a[3][5];
    16     }
    17     return 0;
    18 }

    第一次:11.25

  • 相关阅读:
    二叉树后序遍历
    [编程题] 赛马
    [编程题] 糖果谜题 C++实现输入未知个整数
    [编程题] 时钟
    [编程题] 会话列表
    A Fast Lock-Free Queue for C++
    Design Hangman
    Design a URL shortener [转]
    ostream 和 ostringsteam 的区别
    Hash Table Collision Handling
  • 原文地址:https://www.cnblogs.com/waryan/p/12182269.html
Copyright © 2011-2022 走看看