Showing posts with label Linked List. Show all posts
Showing posts with label Linked List. Show all posts

Thursday, 29 March 2012

Queue Implementation using Array

0 comments

Write a program to perform the following operation on a simple queue ( using Array )
    a.    Insert an element
    b.    Remove an element
    c.    Display
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>

class Queue
{
    int *que, F, R;
    int size;
public :
    Queue(int s)
    {
        F = R = -1;
        size = s;
        que = new int[size];
    }
    void insertElement(int); // insert element fucntion
    void display();
    void delElement();
};

void Queue :: insertElement(int element)
{
    if(R == (size - 1))
        cout<<endl<<"Queue is Full"<<endl;
    else
    {
        if(F == -1 )
            F = 0;
        R++;
        que[R] = element;
    }
}

void Queue :: delElement()
{
    if(F  == -1)
        cout<<endl<<"Queue is Empty";
    else
    {
        if(F == R)
        {
            F = R = -1;
        }
        else
        {
            int element = que[F];
            F++;
            cout<<endl<<"Deleted Element is : "<<element<<endl;
        }
    }
}
void Queue :: display()
{
    cout<<endl<<"\t\t\t";

    for(int i = F; i <= R; i++)
    {
        cout<<que[i]<<"  ";
    }
    cout<<endl;
}


void main()
{

    int ch, element, size;

    clrscr();
    cout<<endl<<"Queue OPERATION";

    cout<<endl<<"Enter Size for Queue: ";
    cin>>size;

    Queue q(size);        //object of queue class

    while(1)
    {

    cout<<endl<<" 1. Insert";
    cout<<endl<<" 2. delete";
    cout<<endl<<" 3. Exit"<<endl;
    cin>>ch;

    switch(ch)
    {
        case 1:
            cout<<endl<<"Enter Element: ";
            cin>>element;

            q.insertElement(element);

            q.display();
            break;
        case 2: q.delElement();
            q.display();
            break;
        case 3:
            exit(0);
        default:
            cout<<endl<<"wrong choice"<<endl;
    }

    }

getch();
}

Monday, 26 March 2012

Stack implementation using Linked List

0 comments

1.    Write a program to perform the following operations on a stack.(using Linked List)
    a.    PUSH   
    b.    POP
    c.    ISEMPTY
    d.    ISFULL
    e.    PEEP
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
class node
{
    int data;    //data part of node
    node *link;  // link part points to next node
public:
    node()       // constructor that set NULL to link
    {
        link = NULL;
    }

//below are functions to get/set the private members
    int getData()
    {
        return data;
    }
    void setData(int d)
    {
        data = d;
    }
    node* getLink()
    {
        return link;
    }
    void setLink(node *nnode)
    {
        link = nnode;
    }
};

// stack class
class StackLL
{
    node *top;
public:
    StackLL()// set top to NULL
    {
        top = NULL;
    }
    void push(int);
    void pop();
    void peep();
    int isEmpty();
    void display();
};

//member function's body

void StackLL :: push(int element)
{
    node *nnode;
    nnode = new node;
    nnode->setData(element);
    if(isEmpty())
    {
        top = nnode;
    }
    else
    {
        nnode->setLink(top);
        top=nnode;
    }
}
int StackLL :: isEmpty()
{
    if(top == NULL)
        return 1;
    else
        return 0;
}

void StackLL :: pop()
{
    node *ptr;
    if(isEmpty())
    {
        cout<<endl<<"Stack Underflow";
    }
    else
    {
        ptr = top;
        top = top->getLink();
        delete(ptr);
    }
}

void StackLL :: display()
{
    node *ptr;
    cout<<endl<<"\t\t\t";
    for(ptr = top; ptr!=NULL; ptr=ptr->getLink())
    {
        cout<<ptr->getData()<<endl<<endl<<"\t\t\t";
    }
}


void main()
{
    int element, ch;
    clrscr();
    cout<<endl<<"\tStack Operation using LinkedList";
    StackLL stk;

    while(1)
    {
    cout<<endl<<" 1. Insert";
    cout<<endl<<" 2. delete";
    cout<<endl<<" 3. Exit"<<endl;

    cin>>ch;
    clrscr();
    cout<<endl<<"\t\t\tStack Operation using LinkedList"<<endl;

    switch(ch)
    {
        case 1:
            cout<<endl<<"Enter data: ";
            cin>>element;

            stk.push(element);

            stk.display();
            break;
        case 2: stk.pop();
            stk.display();
            break;
        case 3:
            exit(0);
        default:
            cout<<endl<<"wrong choice"<<endl;
    }

 }
getch();
}
 

Recent Post

Recent Comments

© 2010 IamLearningHere Template by MBT