mirror of
https://github.com/microsoft/frontend-bootcamp.git
synced 2026-01-26 14:56:42 +08:00
28 lines
581 B
TypeScript
28 lines
581 B
TypeScript
export class Stack<T> {
|
|
private _items: T[] = [];
|
|
|
|
/** Add an item to the top of the stack. */
|
|
push(item: T) {
|
|
this._items.push(item);
|
|
}
|
|
|
|
/** Remove the top item from the stack and return it. */
|
|
pop(): T {
|
|
if (this._items.length > 0) {
|
|
return this._items.pop();
|
|
}
|
|
}
|
|
|
|
/** Return the top item from the stack without removing it. */
|
|
peek(): T {
|
|
if (this._items.length > 0) {
|
|
return this._items[this._items.length - 1];
|
|
}
|
|
}
|
|
|
|
/** Get the number of items in the stack/ */
|
|
get count(): number {
|
|
return this._items.length;
|
|
}
|
|
}
|