《資料結構》棧的應用一 括號匹配檢測

2021-06-18 23:26:58 字數 1112 閱讀 6424

括號匹配檢測問題的簡單描述:假設表示式中允許包含兩種括號:圓括號和方括號,其巢狀的順序隨意,即(())或者[()]等為正確的格式,([)]或者(等均為不正確的格式。

我實現的程式中包含三種括號,其實包含多少種都是一樣的,重在理解結題思路,利用棧來解決一些問題。

下面給出我自己實現的源**(僅供參考):

「init.h」:

#ifndef _init_h

#define _init_h

#include#include#define true 1

#define fasle 0

#define ok 1

#define error -1

#define overflow -2

typedef int status;

typedef int selemtype;

#endif

"bracketmatch.c":

#include"init.h"

#include"linkstack.h"

//對括號的匹配進行檢測,支援()、{}、三種括號

void bracket_match()

': if(s.size == 0 || get_top(s) != 3)

push(s,-3);

else

pop(s,e);

break;

default:

break;

} }if(s.size == 0)

printf("括號匹配.\n");

else

printf("括號不匹配.\n");

}

「main.c」:

#include"init.h"

#include"linkstack.h"

int main()

執行結果如下:

在這個程式中,用到了在《資料結構》鏈棧的c語言實現中實現的鏈棧,關於在"main.c"檔案中的

資料結構 棧的應用 括號匹配

include include include 鏈式棧 括號匹配校驗 define success 0 define failure 1 typedef struct nodestnode def typedef struct linkstackstlinkstack def typedef voi...

括號匹配檢測 棧的應用

周一是我女朋友的生日,無奈公司的介面需要我去除錯,心裡也確實放不下公司的事情,結果週末兩天都在公司除錯加班,今天周一我和女友都上班,唉,太感謝我女友了,乙個男人的高度很大程度上取決於身邊的女人啊,祝我寶貝璐璐生日快樂。在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式...

資料結構 棧的應用 括號匹配的檢驗

棧的應用 括號匹配的檢驗 演算法內容 以此掃瞄所有字元,遇到左括號入棧,遇到右括號則彈出棧頂元素檢查是否匹配。匹配失敗的情況 1.左括號單 2.右括號單 3.左右括號不匹配 include include define maxsize 10 定義棧中元素的最大個數 typedef struct sq...