棧元素的合理性

2021-08-20 17:27:00 字數 725 閱讀 7683

輸入一串行的元素,判斷另一列元素是否符合棧的「先進後出」性質

#include#include #include using namespace std;  

bool check(int *stack_in, int *stack_out,int len_in,int len_out)  

}  return (s.size()>0) ?false:true;                //當所有出棧序列元素都匹配完之後,棧應為空  

}    

int main()  

;       //入棧序列  

int stack_out = ;      //出棧序列  

int len_in = sizeof(stack_in) / sizeof(stack_in[0]);      //入棧序列長度  

int len_out = sizeof(stack_out) / sizeof(stack_out[0]);   //出棧序列長度  

bool ret = check(stack_in, stack_out,len_in,len_out);  

if (ret)  

cout << "yes" << endl;  

else  

cout << "no" << endl;  

system("pause");  

return 0;

出棧入棧合理性

出棧入棧合理性,用兩指標指向兩陣列,建立一新棧來儲存元素。對於入棧陣列的指標一直往下走,併入棧,當與出棧陣列元素相等時,讓棧中的元素pop,還原入棧出棧的過程。如果在這種情況下不處理的話,會導致入棧陣列元素一直往下走,若入棧較多元素後連續出棧,會導致判斷失誤 入棧元素一直往後走,而之前早入棧的元素會...

如何判斷出棧序列合理性

模擬棧的入棧和出棧,根據較大的數先出棧,比它小的數必須由大到小出棧,但不一定連續出棧 如 3 2 1 5 4 或者 3 2 5 4 1 3先出棧,2和1必須由大到小出棧,他們可以連續出棧也可以在中間隔著幾個數,但1在2前出棧坑定是不行的,如 3 1 2 5 4 或3 1 5 4 2,這都是不合理的順...

如何判斷出棧序列合理性

模擬棧的入棧和出棧,根據較大的數先出棧,比它小的數必須由大到小出棧,但不一定連續出棧 如 3 2 1 5 4 或者 3 2 5 4 1 3先出棧,2和1必須由大到小出棧,他們可以連續出棧也可以在中間隔著幾個數,但1在2前出棧坑定是不行的,如 3 1 2 5 4 或3 1 5 4 2,這都是不合理的順...