摘要:
在學習程序語言和進行程序設計的時候,交換兩個變量的值是經常要使用的。通常我們的做法是:定義一個新的變量,借助它完成交換。代碼如下:這種算法易于理解,特別適合幫助初學者了解計算機程序的特點,是賦值語句的經典應用。在實際軟件開發當中,此算法簡單明了,不會產生歧義,便于程序員之間的交流,一般情況下碰到交換變量值的問題,都應采用此算法(以下稱為標準算法)。標準算法最大的缺點(其實根本不算缺點)就是需要借助一個臨時變量。那么不借助臨時變量可以實現交換嗎?答案是肯定的!這里我們可以用至少三種算法來實現,他們是: 1)算術運算 2)指針操作 3)位運算1) 算術運算簡單來說,就是通過+和-運算來實現。代碼如 閱讀全文
posted @ 2011-02-16 20:54
abstractwind
閱讀(796)
評論(0)
推薦(0)
摘要:
提供兩種方法:1、有中間變量 2、無中間變量 閱讀全文
posted @ 2011-02-16 20:49
abstractwind
閱讀(2252)
評論(0)
推薦(0)
摘要:
法1、對鏈表1中的每個節點p1,判斷鏈表2中是否有一個節點p2指向p1loop:p1從head1到最后一個節點loop:p2從head2到最后一個節點 if(p2是否指向p1) 相交 break時間復雜度:O(list1.length * list2.length)空間復雜度:O(1)法2、使用hash表loop:p1從head1到最后一個節點把p1放入hash表table中loop:p2從head2到最后一個節點if(p2在hash表中) 相交時間復雜度:O(list1.length + list2.length)空間復雜度:O(list1.length)法3、將其中一個鏈表首尾相連,檢測另 閱讀全文
posted @ 2011-02-16 20:44
abstractwind
閱讀(6389)
評論(0)
推薦(2)

浙公網安備 33010602011771號