zoukankan      html  css  js  c++  java
  • 几种交换两个数函数(swap函数)的写法和解析

    #include <iostream>
    using namespace std;
    
    /*值传递,局部变量a和b的值确实在调用swap0时变化了,当结束时,他们绳命周期结束*/
    void swap0(int a, int b)
    {
    	int tem = a;
    	a = b;
    	b = a;
    }
    
    /*没有初始化指针就开始用,该函数是有问题的*/
    void swap1(int *a, int *b)
    {
    	int *tem;					/*注意tem没有分配内存*/
    
    	*tem = *a;
    	*a = *b;
    	*b = *tem;
    }
    
    /*函数内只是指针的变化,指针的值没有变化*/
    void swap2(int *a, int *b)
    {
    	int *tem;
    
    	tem = a;
    	a = b;
    	b = tem;
    
    }
    
    /*指针传递实现两个数的交换*/
    void swap3(int *a, int *b)
    {
    	int tem;
    
    	tem = *a;
    	*a = *b;
    	*b = tem;
    }
    
    /*指针传递实现两个数的交换*/
    void swap4(int &a, int &b)
    {
    	int tem;
    	
    	tem = a;
    	a = b;
    	b = tem;
    }
    
    int main()
    {
    	int num1 = 1;
    	int num2 = 2;
    	
    	//swap0(num1, num2);
    	
    	//swap1(&num1, &num2);
    
    	//swap2(&num1, &num2);
    
    	//swap3(&num1, &num2);
    
        swap4(num1, num2);
    
    	cout << num1 << endl << num2 << endl;
    	return 0;
    }


  • 相关阅读:
    java 泛型
    数据结构与算法分析java——线性表1
    常见链表题
    网络面试题集锦
    java 网络流 TCP/UDP
    java文件
    java IO流——字节流
    java IO流——字符流
    java集合框架——工具类
    java集合框架——Map
  • 原文地址:https://www.cnblogs.com/james1207/p/3270967.html
Copyright © 2011-2022 走看看