Files
Yudong Jin 2778a6f9c7 Translate all code to English (#1836)
* Review the EN heading format.

* Fix pythontutor headings.

* Fix pythontutor headings.

* bug fixes

* Fix headings in **/summary.md

* Revisit the CN-to-EN translation for Python code using Claude-4.5

* Revisit the CN-to-EN translation for Java code using Claude-4.5

* Revisit the CN-to-EN translation for Cpp code using Claude-4.5.

* Fix the dictionary.

* Fix cpp code translation for the multipart strings.

* Translate Go code to English.

* Update workflows to test EN code.

* Add EN translation for C.

* Add EN translation for CSharp.

* Add EN translation for Swift.

* Trigger the CI check.

* Revert.

* Update en/hash_map.md

* Add the EN version of Dart code.

* Add the EN version of Kotlin code.

* Add missing code files.

* Add the EN version of JavaScript code.

* Add the EN version of TypeScript code.

* Fix the workflows.

* Add the EN version of Ruby code.

* Add the EN version of Rust code.

* Update the CI check for the English version  code.

* Update Python CI check.

* Fix cmakelists for en/C code.

* Fix Ruby comments
2025-12-31 07:44:52 +08:00

78 lines
1.5 KiB
Dart

/**
* File: array_stack.dart
* Created Time: 2023-03-28
* Author: liuyuxin (gvenusleo@gmail.com)
*/
/* Stack based on array implementation */
class ArrayStack {
late List<int> _stack;
ArrayStack() {
_stack = [];
}
/* Get the length of the stack */
int size() {
return _stack.length;
}
/* Check if the stack is empty */
bool isEmpty() {
return _stack.isEmpty;
}
/* Push */
void push(int _num) {
_stack.add(_num);
}
/* Pop */
int pop() {
if (isEmpty()) {
throw Exception("Stack is empty");
}
return _stack.removeLast();
}
/* Return list for printing */
int peek() {
if (isEmpty()) {
throw Exception("Stack is empty");
}
return _stack.last;
}
/* Convert stack to Array and return */
List<int> toArray() => _stack;
}
/* Driver Code */
void main() {
/* Access top of the stack element */
final ArrayStack stack = ArrayStack();
/* Elements push onto stack */
stack.push(1);
stack.push(3);
stack.push(2);
stack.push(5);
stack.push(4);
print("Stack stack = ${stack.toArray()}");
/* Return list for printing */
final int peek = stack.peek();
print("Top element peek = $peek");
/* Element pop from stack */
final int pop = stack.pop();
print("Pop element pop = $pop, after pop stack = ${stack.toArray()}");
/* Get the length of the stack */
final int size = stack.size();
print("Stack length size = $size");
/* Check if empty */
final bool isEmpty = stack.isEmpty();
print("Is stack empty = $isEmpty");
}