R Program to Implement Queue

1. Introduction

A queue is a linear data structure that follows the First In First Out (FIFO) principle. This means that the first item added (or "enqueued") to the queue will be the first one removed (or "dequeued"). In this guide, we'll implement basic queue operations in R.

2. Program Overview

R does not have a built-in queue data structure, but we can emulate its behavior using lists. The operations we'll implement are:

1. Enqueuing an item to the queue.

2. Dequeuing an item from the queue.

3. Checking the front item without dequeuing it.

3. Code Program

# Initializing an empty queue
queue <- list()

# Enqueue function
enqueue <- function(item) {
  queue <<- append(queue, item)
}

# Dequeue function
dequeue <- function() {
  if (length(queue) > 0) {
    front <- queue[1]
    queue <<- queue[-1]
    return(front)
  } else {
    return(NULL)
  }
}

# Front function
front <- function() {
  if (length(queue) > 0) {
    return(queue[1])
  } else {
    return(NULL)
  }
}

# Testing the queue operations
enqueue(5)
enqueue(10)
enqueue(15)

print(front())

print(dequeue())

print(front())

Output:

[1] 5
[1] 5
[1] 10

4. Step By Step Explanation

- We start by initializing an empty list named "queue".

- The "enqueue" function appends an item to the end of our list, mimicking adding to the end of a queue.

- The "dequeue" function retrieves the first item from the list, mimicking removing it from the front of the queue, and then discards it.

- The "front" function retrieves the first item without removing it, offering a view of the front of the queue.

- In our test, we enqueued three numbers onto our queue (5, 10, and 15). When we checked the front the first time, 5 was at the front. 

After dequeuing, 5 were removed, leaving 10 at the front of the queue, as demonstrated in the final output.

Comments