js 陣列 模擬堆疊實現 前進 撤銷

2021-07-30 13:33:09 字數 1019 閱讀 9778

5 個引數:

第乙個引數:第乙個陣列:用於儲存改變後的資料狀態

第二個引數:

第二個陣列:用於儲存撤銷後的資料,便於 ctrl+y 前進

第三個引數:

字串標誌:"s" 代表儲存資料,"z" 代表撤銷資料,"y" 代表前進資料

第四個引數:

傳進來的要儲存的資料:儲存到陣列中

第五個引數:

傳進來的要儲存的初始時資料(例如:canvas的沒畫畫時的空白狀態):同樣

儲存到陣列中

因為你撤銷時,最多撤銷到 第五個 引數的狀態

(前三個是必傳引數,後面兩個在 儲存 資料時傳入要儲存的資料,撤銷 或 前進 時,隨便傳什麼)

返回資料:如果是 ctrl+z ,返回前乙個資料;如果是 ctrl+y 返回後乙個資料

這時

你就可以用返回的資料覆蓋當前狀態,達到撤銷 與 前進 的目的

----------------------

----------------------

----------------------

----------------------

----------------------

----------------------

----------------------

----------------------

壓縮後的**:

【function stack(e,c,b,d,a)break;case"y":if(c.length>0)break;case"s":if(e[0]!=a)c.splice(0,c.length);e.push(d);break;default:alert("error");break}return e[e.length-1]};】

----------------------

----------------------

----------------------

----------------------

陣列實現堆疊 Java實現

package struct 介面 inte ce iarraystack 實現介面的stackimpl類 class stackimpl implements iarraystack 求堆疊容量 public int length 求堆疊中元素的個數,即堆疊大小 public int size 取...

陣列實現堆疊操作

感覺自己資料結構學的好慢啊。感覺用不慣c 的輸入輸出,其實看我胡扯不如直接去看 來的實在。堆疊的在於檢視是否滿 溢位 或者為空 null 上 main.cpp 陣列實現堆疊 created by malker on 2017 3 20.include include include define m...

陣列實現雙堆疊

在乙個陣列中實現兩個堆疊 20 分 本題要求在乙個陣列中實現兩個堆疊。stack createstack int maxsize bool push stack s,elementtype x,int tag elementtype pop stack s,int tag 其中tag是堆疊編號,取1...