陣列實現下壓棧(可動態調整陣列大小)

2021-10-05 02:19:08 字數 529 閱讀 6011

public class resizingarraystackimplements iterable

/*** 獲取棧大小

* @return

*/public int size()

/*** 調整棧的大小

* @param max

*/private void resize(int max)

@override

public iteratoriterator()

private class reversearrayiterator implements iterator

@override

public item next()

}}

這裡實現了後進先出的迭代。

這種資料型別保證了每種操作與棧的大小無關,並且棧的大小總是不會超過資料大小的乙個常數倍(**中該常數為2)。但是在進行某些push或者pop操作的時候,可能會改動棧的大小,因為改動時是採用拷貝的方式,就會耗費比較多的時間,其與棧的大小成正比。

大整數乘法 陣列實現

實現思路 按照乘法規則,乘數和被乘數分別是,num1,num2。按照從後往前的順序遍歷num1,num2中的每一位上數字,首選取num2的最後一位分別於num1上的每一位相乘,將得到的結果儲存在陣列ret中,在之後的每一次遍歷開始,使得ret都是從上一次開始位置減一出從新開始,並且執行對應位置上的自...

大整數加法(陣列實現)

實現任意範圍的兩個整數的加法 整數的範圍用 int 型的變數無法表示 大整數加法。實現任意範圍的兩個整數的加法 整數的範圍用 int 型的變數無法表示 void addsuper b 50 rst 50 p int lena,lenb,max,min,tmp int while gets a nul...

c ,類的資料成員有陣列,且動態調整陣列大小

當想要乙個自定義類的資料成員有陣列時,不是用 比如 int a 50 這樣只能指定大小 而是在資料成員中 用t heap 指向陣列首元素 int capacity 表示陣列的容量 然後再構造類的時候,用乙個heap new t cap 同時別忘了 析構的時候 delete heap 然後resize...