知識點:鍊錶
題目:有兩個用鍊錶表示的整數,每個結點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶的首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。給定兩個鍊錶listnode*
a,listnode*
b,請返回a+b的結果(listnode*)。
思路:1,考慮相加進製問題
2,考慮最高維可能為1 的問題
3, 考慮a和b長度不等問題。。。哪個長直接把那個剩餘部分直接帶入a+b
**:
#include using namespace std;
struct listnode
};class plus
else
a = (a == null ? null : a = a->next);
b = (b == null ? null : b = b->next);
} //最高位可能為1
if (step == 1)
return chead;
}};
基於鏈式鍊錶的棧鏈式儲存的C風格實現
鏈式鍊錶的標頭檔案與cpp檔案見前文 標頭檔案 1 ifndef linkstack h 2 define linkstack h 34 5 typedef void linkstack 6 建立乙個棧 7 linkstack linkstack create 8 刪除乙個棧 9void links...
棧和佇列(二) 棧的應用舉例
一 數制轉換 十進位制數n和其它d進製數的轉換是計算機實現計算的基本問題,其解決方法很多,其中乙個簡單的演算法是基於下列原理 n n div d d n mod d。其中 div為整除運算,mod為求餘運算。例 1348 10 2504 8,其運算過程如下 n n div 8 n mod 8 134...
鍊錶 佇列和棧的區別
鍊錶 佇列和棧的區別 鍊錶,佇列和棧都是資料結構的一種。sartaj sahni 在他的 資料結構 演算法與應用 一書中稱 資料結構是資料物件,以及存在於該物件的例項和組成例項的資料元素之間的各種聯絡。這些聯絡可以通過定義相關的函式來給出。他將資料物件 data object 定義為 乙個資料物件是...