Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

DSSL2 DRRACKET write, Constructs an empty ListStack. Construct an empty ListQueue. Enqueue five songs of your choice to the given queue, then return the first

DSSL2 DRRACKET write, Constructs an empty ListStack. Construct an empty ListQueue. Enqueue five songs of your choice to the given queue, then return the first song that should play.

#lang dssl2 #lang dssl2

# HW2: Stacks and Queues

import ring_buffer

interface STACK[T]: def push(self, element: T) -> NoneC def pop(self) -> T def empty?(self) -> bool?

# Defined in the `ring_buffer` library; copied here for reference. # Do not uncomment! or you'll get errors. # interface QUEUE[T]: # def enqueue(self, element: T) -> NoneC # def dequeue(self) -> T # def empty?(self) -> bool?

# Linked-list node struct (implementation detail): struct _cons: let data let next: OrC(_cons?, NoneC)

### ### ListStack ###

class ListStack[T] (STACK):

# Any fields you may need can go here.

# Constructs an empty ListStack. def __init__ (self): pass # ^ YOUR CODE GOES HERE

# Other methods you may need can go here.

test "woefully insufficient": let s = ListStack() s.push(2) assert s.pop() == 2

### ### ListQueue ###

class ListQueue[T] (QUEUE):

# Any fields you may need can go here.

# Constructs an empty ListQueue. def __init__ (self): pass # ^ YOUR CODE GOES HERE

# Other methods you may need can go here.

test "woefully insufficient, part 2": let q = ListQueue() q.enqueue(2) assert q.dequeue() == 2

### ### Playlists ###

struct song: let title: str? let artist: str? let album: str?

# Enqueue five songs of your choice to the given queue, then return the first # song that should play. def fill_playlist (q: QUEUE!): pass # ^ YOUR CODE GOES HERE

test "ListQueue playlist": pass

# To construct a RingBuffer: RingBuffer(capacity) test "RingBuffer playlist": pass

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

The Accidental Data Scientist

Authors: Amy Affelt

1st Edition

1573877077, 9781573877077

More Books

Students also viewed these Databases questions