gr8vyguy@Blogjava

          變量值互換

          大家好,這是我在blogjava上第一篇隨筆。主要是試試看。

          互換變量值大概編程中最簡(jiǎn)單的一件事了,大多數(shù)會(huì)用
          int x = 1, y = 2;
          int z;
          = x;
          = y;
          = z;

          這需要借助一個(gè)附加變量z。能不能不使用附加變量呢?

          用異或運(yùn)算可以實(shí)現(xiàn)這個(gè)所謂的in place互換。
          ^= y;
          ^= x;
          ^= y;

          這樣就可以交換兩個(gè)整數(shù)變量的值了。不信,可以試試。原理也很簡(jiǎn)單,因?yàn)閥 = (x ^ y) ^ x.


          轉(zhuǎn)載請(qǐng)保留http://www.aygfsteel.com/xilaile/archive/2007/02/15/99983.html

          posted on 2007-02-15 12:37 gr8vyguy 閱讀(1825) 評(píng)論(2)  編輯  收藏 所屬分類: 計(jì)算機(jī)科學(xué)基礎(chǔ)

          評(píng)論

          # re: 變量值互換 2007-03-05 13:42 李敏

          這個(gè)題目已經(jīng)有很多人做了!

          int x = 1, y = 2;

          x=x+y;

          y=x-y;

          x=x-y;


          這個(gè)是目前最簡(jiǎn)單的一種方式! ^_^  回復(fù)  更多評(píng)論   

          # re: 變量值互換 2007-03-05 13:50 李敏

          還有別人也曾經(jīng)問(wèn)過(guò)如果是兩個(gè)String,也是不需要借助第三個(gè)變量的情況下,來(lái)轉(zhuǎn)換!

          String a = "a";
          String b = "b";

          a += b;

          b=(a.split(b))[0];
          a=(a.split(b))[1];

          System.out.println(a);
          System.out.println(b);


          - -! 覺(jué)得我有點(diǎn)無(wú)聊了!  回復(fù)  更多評(píng)論   

          <2007年2月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          公告

        1. 轉(zhuǎn)載請(qǐng)注明出處.
        2. msn: gr8vyguy at live.com
        3. 常用鏈接

          留言簿(9)

          隨筆分類(68)

          隨筆檔案(80)

          文章分類(1)

          My Open Source Projects

          搜索

          積分與排名

          最新評(píng)論

          主站蜘蛛池模板: 乌苏市| 富平县| 古交市| 牟定县| 徐汇区| 耒阳市| 铜梁县| 南京市| 阿拉善右旗| 福贡县| 康平县| 嘉峪关市| 班玛县| 海原县| 平和县| 盘山县| 凤凰县| 天津市| 枝江市| 香格里拉县| 定远县| 安西县| 丰镇市| 武穴市| 班玛县| 房产| 墨江| 南开区| 吉林省| 龙江县| 郓城县| 新野县| 佛冈县| 朔州市| 肇州县| 五原县| 新源县| 合水县| 长宁县| 磐安县| 连山|