Pure Programmer
Blue Matrix


Cluster Map

Abstract Data Types (ADT)

L1

This page is under construction. Please come back later.

ADTStack.js
#!/usr/bin/env node;
/******************************************************************************
 * This program demonstrates the Stack ADT
 * 
 * Copyright © 2021 Richard Lesh.  All rights reserved.
 *****************************************************************************/

const Utils = require('./Utils');

class IntegerStack {
// Internal representation for the stack is a list
	#stack = [];

	constructor() {
		this.#stack = [];
	}

	pop() {
		if (this.#stack.length === 0) {
			throw new Utils.RuntimeError("Can't pop on empty stack!");
		}
		return this.#stack.pop();
	}

	push(value) {
		this.#stack.push(value);
	}

	peek() {
		if (this.#stack.length === 0) {
			throw new Utils.RuntimeError("Can't peek on empty stack!");
		}
		return this.#stack[this.#stack.length - 1];
	}
}

const main = async () => {
	let stack = new IntegerStack();
	for (let x = 1; x <= 10; ++x) {
		stack.push(x);
	}
	try {
		console.log(stack.peek());
		for (let x = 1; x <= 11; ++x) {
			console.log(stack.pop());
		}
	} catch (ex) {
		if (ex instanceof Utils.RuntimeError) {
			console.log(String(ex));
		}
	}
}
main().catch( e => { console.error(e) } );
Output
$ node ADTStack.js 10 10 9 8 7 6 5 4 3 2 1 RuntimeError: Can't pop on empty stack!
HelloWorld.js
#!/usr/bin/env node;
/******************************************************************************
 * Simple first program.
 * 
 * Copyright © 2020 Richard Lesh.  All rights reserved.
 *****************************************************************************/

const main = async () => {
	console.log("Hello, world!");
}
main().catch( e => { console.error(e) } );
Output
$ node HelloWorld.js Hello, world!
HelloWorld.js
#!/usr/bin/env node;
/******************************************************************************
 * Simple first program.
 * 
 * Copyright © 2020 Richard Lesh.  All rights reserved.
 *****************************************************************************/

const main = async () => {
	console.log("Hello, world!");
}
main().catch( e => { console.error(e) } );
Output
$ node HelloWorld.js Hello, world!
javascript

Questions

Projects

More ★'s indicate higher difficulty level.

References