国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

c語言swap(a,b)值交換的4種實現方法

2020-01-26 16:21:52
字體:
來源:轉載
供稿:網友

這篇文章所要表述的內容的確很簡單,寫之前,我糾結了很久:寫與不寫。平常swap(a,b)值交換,我們基本都是使用第一種方法,對于數學較好的人,可能會想到第二種方法,想到時,一定感覺很好,。對于匯編或對位有理解的人,可能會想到第三種方法,這個方法很妙。但,真正促使我寫這篇文章的,還是第四種方法,妙,真的很妙,先(b = a),我是真沒想到,我想,這么好的東西,盡管簡單,但值得發表,以此共享。

swap(a,b)值交換的四種方法:

復制代碼 代碼如下:

void swap(int &a, int &b) 

    //方法一:  
    int tmp = 0; 
    tmp = b; 
    b = a; 
    a = tmp; 
    //方法二:  
    //a = a+b;  
    //b = a-b;  
    //a = a -b;  
    //方法三:  
    //a ^= b ^= a ^= b;  
    //方法四:  
    //a = a+b-(b=a);  


int main(void) 

    int a = 3; 
    int b = 4; 

    printf("before swap: a = %d, b = %d/n", a, b); 
    swap(a, b); 
    printf("after swap: a = %d, b = %d/n", a, b); 

    return 0; 

結果:

before swap: a = 3, b = 4

after swap: a = 4, b = 3


關于傳參方式有三種:值傳參、地址傳參、引用傳參(C++方法),上面使用的是第三種,引用傳參,因為這種傳參方式使得swap里面實現更為直觀。當然,也可以使用第二種傳參方式地址傳參,不過,值傳參是不行的哦。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 海安县| 项城市| 且末县| 沧源| 田林县| 博湖县| 上杭县| 阿尔山市| 虹口区| 浠水县| 永济市| 黄石市| 剑河县| 江城| 怀化市| 武隆县| 若羌县| 衡阳县| 蒙阴县| 南投县| 梧州市| 都安| 克山县| 上林县| 延吉市| 萨嘎县| 徐州市| 鹿邑县| 德兴市| 西宁市| 札达县| 高雄县| 买车| 吴堡县| 隆德县| 天门市| 神木县| 安图县| 本溪市| 萍乡市| 平罗县|