数据结构与算法之Stack(栈)的应用——in dart
Posted outerspace
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法之Stack(栈)的应用——in dart相关的知识,希望对你有一定的参考价值。
参考教科书上的一个应用例子,用栈来分析一行输入中的括号brackets是否匹配。用stdin读取用户输入,并输出检查结果。exit 退出。
注意这行代码:
import ‘stack.dart‘;
// 需要与上一个Stack的例子在同一个文件夹下。
1 import ‘dart:io‘; 2 import ‘stack.dart‘; 3 4 void main() { 5 var ins = stdin.readLineSync(); 6 while (ins != ‘exit‘) { 7 print(check(ins)); 8 ins = stdin.readLineSync(); 9 } 10 } 11 12 bool check(String ins) { 13 var stack = Stack<String>(ins.length); 14 for (var i = 0; i < ins.length; i++) { 15 switch (ins[i]) { 16 case ‘{‘: 17 case ‘[‘: 18 case ‘(‘: 19 stack.push(ins[i]); 20 break; 21 case ‘)‘: 22 if (stack.isEmpty || stack.pop() != ‘(‘) return false; 23 break; 24 case ‘]‘: 25 if (stack.isEmpty || stack.pop() != ‘[‘) return false; 26 break; 27 case ‘}‘: 28 if (stack.isEmpty || stack.pop() != ‘{‘) return false; 29 break; 30 default: 31 break; 32 } 33 } 34 return stack.isEmpty; 35 }
以上是关于数据结构与算法之Stack(栈)的应用——in dart的主要内容,如果未能解决你的问题,请参考以下文章