@chawuciren
2018-10-26T09:30:47.000000Z
字数 802
阅读 831
Turing
1.函数库依然不是我写的,就改了个int
1 #include "Stack_Array.h"
2 bool isMatching(char Array[],int length);
3 int main(){
4 char Array[9]="[(a+b)*c)";
5 int result=0;
6 isMatching(Array,9);
7 if(result==1)
8 printf("successful!");
9 else
10 printf("false.");
11 return 0;
12 }
13 bool isMatching(char Array[],int length){//without matching?
14 Stack_p brackets = initialStack(10);
15 for(int i=0;i<length;i++){
16 if(Array[i]==40||Array[i]==91||Array[i]==123){
17 push(brackets,Array[i]);
18 }
19 if(Array[i]==41){ //Small parenthesis matching
20 char left=pop(brackets);
21 if(left==40)
22 return true;
23 else
24 return false;
25 }
26 if(Array[i]==93){ //Matching brackets
27 char left=pop(brackets);
28 if(left==91)
29 return true;
30 else
31 return false;
32 }
33 if(Array[i]==125){ //Braces matching
34 char left=pop(brackets);
35 if(left==123)
36 return true;
37 else
38 return false;
39 }
40
41 }
42 }
43
44
在此输入正文