C# program to implement Linear Queue using structure

Here, we are going to learn how to implement Linear Queue using structure in C#?
Submitted by Nidhi, on November 05, 2020

Here, we will implement a Linear Queue using structure. The linear queue follows FIFO (First In First Out) property. In the linear queue, we used FRONT and REAR pointer. We can insert the item at the REAR end and delete the item from the REAR end.

Program:

The source code to implement Linear Queue using structure is given below. The given program is compiled and executed successfully on Microsoft Visual Studio.

//C# program to implement Linear Queue using structure.

using System;

struct LinearQueue
{
    private int[] ele;
    private int front;
    private int rear;
    private int max;

    public LinearQueue(int size)
    {
        ele = new int[size];
        front = 0;
        rear = -1;
        max = size;
    }

    public void InsertItem(int item)
    {
        if (rear == max - 1)
        {
            Console.WriteLine("Queue Overflow");
            return;
        }
        else
        {
            ele[++rear] = item;
        }
    }

    public int DeleteItem()
    {
        if (front == rear + 1)
        {
            Console.WriteLine("Queue is Empty");
            return -1;
        }
        else
        {
            Console.WriteLine("Deleted element is: " + ele[front]);
            return ele[front++];
        }
    }

    public void PrintQueue()
    {
        if (front == rear + 1)
        {
            Console.WriteLine("Queue is Empty");
            return;
        }
        else
        {
            for (int i = front; i <= rear; i++)
            {
                Console.WriteLine("\tItem[" + (i + 1) + "]: " + ele[i]);
            }
        }
    }
}

class Demo
{
    static void Main()
    {
        LinearQueue Q = new LinearQueue(5);

        Q.InsertItem(101);
        Q.InsertItem(202);
        Q.InsertItem(303);
        Q.InsertItem(404);
        Q.InsertItem(505);

        Console.WriteLine("Queue Items are : ");
        Q.PrintQueue();

        Q.DeleteItem();
        Q.DeleteItem();

        Console.WriteLine("Queue Items are : ");
        Q.PrintQueue();
    }
}

Output:

Queue Items are :
        Item[1]: 101
        Item[2]: 202
        Item[3]: 303
        Item[4]: 404
        Item[5]: 505
Deleted element is: 101
Deleted element is: 202
Queue Items are :
        Item[3]: 303
        Item[4]: 404
        Item[5]: 505
Press any key to continue . . .

Explanation:

In the above program, we created a structure LinearQueue that contains an array of elements, front, rear, and max data members.

The LinearQueue structure contains a constructor to initialize data members and InsertItem(), DeleteItem(), and PrintQueue() method.

The InsertItem() method is used to insert an item from the rear end. The DeleteItem() method is used to delete the item from the front end, and the PrintQueue() method is used to print the Queue items on the console screen.

Now look the Demo class that contains the Main() method, The Main() method is the entry point for the program. Here we created the reference of LinearQueue structure and perform insert and delete operations.

C# Data Structure Programs »


ADVERTISEMENT
ADVERTISEMENT




Comments and Discussions!




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.