程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++之桟的應用---括號匹配

C++之桟的應用---括號匹配

編輯:C++入門知識

C++之桟的應用---括號匹配


剛開始學習數據結構,用桟寫了一個經典的應用,括號匹配。


算法思路:

輸入字符串時,將 '(' , '[' 壓入桟,遇到 ‘)’ ']' 時,再棧頂出桟,進行括號匹配,如果成功匹配,則繼續進行,否則,程序結束,輸入不匹配信息,

如果 ‘)’ ']' 均匹配,則看判斷桟是否為空,如果為空,則輸入匹配,否則,輸出符號數量不匹配。


#include
using namespace std;
#define max 100 

struct stack
{
	int Top;
	int MaxSize;
	char *element;
};

typedef struct stack Stack;

void Init(Stack *S,int n)
{
	if(n>0)
	{
		S->Top=-1;
		S->MaxSize=n;
		S->element=new char [S->MaxSize];
	}
}

bool IsFull(Stack *S)
{
	return (S->Top==S->MaxSize-1);
}

bool IsEmpty(Stack *S)
{
	return (S->Top==-1);
}

void push(Stack *S,char x)
{
	if(!IsFull(S))
		S->element[++S->Top]=x;
	else
	{
		cout<<"桟滿"<element[S->Top--];
	else
	{
		cout<<"桟空"<
都是簡單的定義,簡單的功能。

\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved