括號匹配檢測問題的簡單描述:假設表示式中允許包含兩種括號:圓括號和方括號,其巢狀的順序隨意,即(())或者[()]等為正確的格式,([)]或者(等均為不正確的格式。
我實現的程式中包含三種括號,其實包含多少種都是一樣的,重在理解結題思路,利用棧來解決一些問題。
下面給出我自己實現的源**(僅供參考):
「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...