[关闭]
@chawuciren 2018-10-26T09:30:47.000000Z 字数 802 阅读 710

中括号大括号小括号

Turing
1.函数库依然不是我写的,就改了个int

  1. 1 #include "Stack_Array.h"
  2. 2 bool isMatching(char Array[],int length);
  3. 3 int main(){
  4. 4 char Array[9]="[(a+b)*c)";
  5. 5 int result=0;
  6. 6 isMatching(Array,9);
  7. 7 if(result==1)
  8. 8 printf("successful!");
  9. 9 else
  10. 10 printf("false.");
  11. 11 return 0;
  12. 12 }
  13. 13 bool isMatching(char Array[],int length){//without matching?
  14. 14 Stack_p brackets = initialStack(10);
  15. 15 for(int i=0;i<length;i++){
  16. 16 if(Array[i]==40||Array[i]==91||Array[i]==123){
  17. 17 push(brackets,Array[i]);
  18. 18 }
  19. 19 if(Array[i]==41){ //Small parenthesis matching
  20. 20 char left=pop(brackets);
  21. 21 if(left==40)
  22. 22 return true;
  23. 23 else
  24. 24 return false;
  25. 25 }
  26. 26 if(Array[i]==93){ //Matching brackets
  27. 27 char left=pop(brackets);
  28. 28 if(left==91)
  29. 29 return true;
  30. 30 else
  31. 31 return false;
  32. 32 }
  33. 33 if(Array[i]==125){ //Braces matching
  34. 34 char left=pop(brackets);
  35. 35 if(left==123)
  36. 36 return true;
  37. 37 else
  38. 38 return false;
  39. 39 }
  40. 40
  41. 41 }
  42. 42 }
  43. 43
  44. 44

在此输入正文

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注