什么是回文 用C#描述數(shù)據(jù)結(jié)構(gòu)的棧和隊(duì)列的方法判斷是否為回文?
用C#描述數(shù)據(jù)結(jié)構(gòu)的棧和隊(duì)列的方法判斷是否為回文?//------------以下是判斷方法。堆棧和隊(duì)列創(chuàng)建方法非常常見。如果你想再加一次----//用棧來判斷回文//思想是:用棧的后進(jìn)先出的方法,先
用C#描述數(shù)據(jù)結(jié)構(gòu)的棧和隊(duì)列的方法判斷是否為回文?
//------------以下是判斷方法。堆棧和隊(duì)列創(chuàng)建方法非常常見。如果你想再加一次----//用棧來判斷回文//思想是:用棧的后進(jìn)先出的方法,先把目標(biāo)字符串壓入棧中//如果字符串是回文的,其堆棧輸出序列與原序列相同//使用隊(duì)列判斷回文//與堆棧相反,使用先進(jìn)先出boolcheck(char[]target){//創(chuàng)建堆?;蜿?duì)列的實(shí)例,stackorqueuetemp=newstackorqueue()//將目標(biāo)字符串按入(inti=0I)的堆?;蜿?duì)列<target.Lengthi公司) 溫度推力(target[i])//利用stack或queue<target.Lengthi公司)//對于(inti=目標(biāo)。長度-如果是隊(duì)列方法,如果(臨時彈出()! =target[i])returnalsereturnttrue}
堆棧和隊(duì)列可以用數(shù)組或鏈表實(shí)現(xiàn)!一般來說,堆棧也是隊(duì)列!兩者順序相同!堆棧也叫FIFO隊(duì)列,也叫后進(jìn)先出隊(duì)列,隊(duì)列也叫FIFO隊(duì)列!這兩者統(tǒng)稱為單入單出隊(duì)列!堆棧屬于單端隊(duì)列!隊(duì)列是單進(jìn)單出雙端隊(duì)列!此外,還有一個雙進(jìn)雙出的雙端隊(duì)列!這三個隊(duì)列屬于線性表!可以用數(shù)組或鏈表來實(shí)現(xiàn)!除了常用的動態(tài)列表外,還可以使用靜態(tài)列表!靜態(tài)列表是一個數(shù)組和游標(biāo)(一個整數(shù),用來代替指針)實(shí)現(xiàn)的!PS:stack(后進(jìn)先出或Filo)、queue(FIFO)、double-in和double-out queue(deque)是隊(duì)列的三種形式。堆棧是單端隊(duì)列,先入后出!隊(duì)列單進(jìn)單出雙端隊(duì)列FIFO,雙隊(duì)列deque是雙進(jìn)雙出雙端隊(duì)列!這就是堆棧和隊(duì)列之間的關(guān)系!都是線性列表(順序列表)線性列表(順序列表)可以通過數(shù)組、鏈表(動態(tài)鏈表)和靜態(tài)鏈表來實(shí)現(xiàn)!這就是它們與數(shù)組的關(guān)系!