出棧入棧合理性

2021-08-05 20:34:21 字數 711 閱讀 9177

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

stack.h

#include#includeusing namespace std;

templateclass stack

bool islegal(t* in, t* out, size_t sz)// 判斷入棧合法性

else

break;

out++; //只有入棧元素與出棧元素相等時,出棧元素後移}}

如何判斷出棧序列合理性

模擬棧的入棧和出棧,根據較大的數先出棧,比它小的數必須由大到小出棧,但不一定連續出棧 如 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,這都是不合理的順...

棧元素的合理性

輸入一串行的元素,判斷另一列元素是否符合棧的 先進後出 性質 include include include using namespace std bool check int stack in,int stack out,int len in,int len out return s.size ...