元素出棧 入棧順序的合法性

2021-09-22 02:41:21 字數 718 閱讀 7325

問題描述:判斷元素出棧、入棧順序的合法性。如入棧的序列「abcde」,出棧序列為「deabc」

思路:定義兩個陣列分別來存放入棧和出棧序列    

步驟1:先將字串1的第乙個字元入棧:

步驟2:將該元素與字串2的第乙個元素進行比較

步驟3:

a):如果相等,就將該元素出棧並且將字串1的下乙個字元入棧,與字串2的下乙個字元進行比較。

b):如果不相等,繼續將字串1的下乙個字元入棧,繼續做步驟2

#pragma once

#include "stack.h"

#include #include int isvalid( char* arr1,char*arr2, int size)

} //如果這個元素和出棧序列指標output所指的元素不相等,就將入棧序列的下乙個元素入棧,再與output所指的元素進行比較

input++;

} //到這裡,證明出棧序列的每乙個元素都可以合法出棧

if (*output == '\0')

return 0;

}//測試函式

元素出棧 入棧順序的合法性

元素出棧 入棧順序的合法性。如入棧的序列 1,2,3,4,5 出棧序列為 4,5,3,2,1 很直觀的一種想法,建立乙個輔助棧,把輸入的第乙個序列中的數字一次壓入該輔助棧,並按照第二個序列的順序從該棧中彈出數字。遍歷出棧順序中的元素,有兩種情況 1 如果元素是棧頂的元素,則pop出來 2 如果不是棧...

元素出棧 入棧順序的合法性。

1.基礎題 元素出棧 入棧順序的合法性。如 入棧的序列 1,2,3,4,5 出棧序列為 4,5,3,2,1 則合法。入棧的序列 1,2,3,4,5 出棧序列為 4,5,2,3,1 則不合法。include include include using namespace std input為入棧序列,...

判斷元素出棧入棧順序的合法性

思路 假設入棧序列,出棧序列 首先我們將入棧序列的第乙個元素入棧,這是設定乙個指標只想出棧序列的第乙個元素,如果出入棧以後,棧頂 元素和出棧指標所指向的元素相等,那麼就讓棧頂元素出棧,讓指標 最後判斷棧為空就好,若為空,就說明是合法的,如果不是就是不合法。如下 include include inc...