array based stack dated: 30 th aug 2012 class - xii

26
ARRAY BASED STACK DATED: 30 TH AUG 2012 CLASS - XII

Upload: mackenzie-sarten

Post on 16-Dec-2015

216 views

Category:

Documents


3 download

TRANSCRIPT

ARRAY BASED STACK

DATED: 30TH AUG 2012CLASS - XII

#include<iostream.h>#include<conio.h>#define MAX 6int stack[MAX];int top=-1;void push(int x) { if(top==MAX-1){ cout<<"\n Stack overflows \n"; return; }top=top+1;stack[top]=x;}

void pop(){if(top==-1){cout<<"\n Stack underflows \n";return;}cout<<"\n popped :"<<stack[top];top=top-1;}

void show(){cout<<"\n showing....\n";for(int i=top;i>=0;i--)cout<<stack[i]<<" ";}

void main(){void push(int); void pop(); void show();for(int i=1;i<=5;i++) push(i);show();pop(); pop();show();for(int j=6;j<=8;j++) push(j);show();getch();}

#include<iostream.h>#include<conio.h>#define MAX 50class Stack{int arr[MAX];int top;public:Stack() { top =-1; }void push(int);void pop();void show();};

void Stack::push(int x){if(top==MAX-1){cout<<"\n stack overflows\n";return;}arr[++top]=x;}

void Stack::pop(){if(top==-1){cout<<"\n stack underflows\n";return;}cout<<"\n popped:"<<arr[top];top--;}

void Stack::show(){if(top==-1){cout<<"\n stack underflows\n";return;}cout<<"\n showing..\n";for(int i=top;i>=0;i--)cout<<arr[i]<<" ";}

void main(){Stack s;for(int i=1;i<=5;i++) s.push(i);s.show();s.pop(); s.pop();s.show();for(int j=6;j<=9;j++) s.push(j);s.show();getch();}

ARRAY BASED LINEAR QUEUE

DATED: 30TH AUG 2012CLASS - XII

#include<iostream.h>#define MAX 6Class Queue{Int arr[MAX];Int front, rear;Public:Queue( ) { front = rear =-1; }Void add(int);Void del();Void show();};

Void Queue:: add(int x){If(rear == MAX -1){ cout<< “Queue is full “; return;}Rear++;Arr[rear]=x;If(front == -1)Front =0;}

Void Queue:: del(){If(front == -1){ cout<< “Queue is empty “; return;}Cout<<“\n value deleted :” << arr[front];If(front ==rear)Front = rear = -1;ElseFront ++;}

Void Queue:: show(){If(front == -1){ cout<< “Queue is Empty “; return;}Cout<<“\n showing…….\n”;For(int i =front ; i<=rear; i++)Cout<<arr[i]<<“ “;}

Void main(){Clrscr();Queue q;For(int i =1; i< =6; i++)q.add(i*2);q.show();For( int j=1; j<=3;j++)q.del();q.show();getch();}

ARRAY BASED CIRCULAR QUEUE

DATED: 30TH AUG 2012CLASS - XII

#include<iostream.h>#define MAX 6Class cQueue{Int arr[MAX];Int front, rear;Public:Queue( ) { front = rear =0; }Void add(int);Void del();Void show();};

Void cQueue:: add(int x){If( (front==0 && rear ==MAX -1) && (front == rear + 1) ){ cout<< “Queue is full “; return;}If(rear == -1) front = rear =0;Else if(rear == MAX -1) rear =0;Else rear++;Arr[rear]=x;}

Void cQueue:: del(){If(front == -1){ cout<< “Queue is empty “; return;}cout<<“\n value deleted :” << arr[front];If(front == rear)Front = rear = -1;Else if(front == MAX – 1) front =0;Else Front ++;}

Void cQueue:: show(){ If(front == -1){ cout<< “Queue is Empty “; return; }Cout<<“\n showing…….\n”;If(front< rear) {For(int i =front ; i<=rear; i++)Cout<<arr[i]<<“ “; }Else{ for(int i=front; i<=MAX -1; i++)Cout<<arr[i]<<“ “; for( i= 0; i<=rear; i++)Cout<<arr[i]<<“ “; }

#define MAX 6class cQueue{int arr[6];int front, rear;public:cQueue() { front =rear =0; }void add(int);void del();void show();};

void cQueue::add(int x){if( (rear+1)%MAX==front){cout<<"\n Queue overflows";return;}arr[rear]=x;rear = (rear+1)%MAX;}

void cQueue::del(){if(front == rear){cout<<"\n Queue underflows";return;}cout<<"\n deleted :"<<arr[front];front = (front+1)%MAX;}

void cQueue::show(){if(front == rear){cout<<"\n Queue underflows";return;}cout<<"\n showing...\n";for(int i=front; i!=rear; i = (i+1)%MAX)cout<<arr[i]<<“ “;}

Void main(){Clrscr();Queue q;For(int i =1; i< =6; i++)q.add(i*2);q.show();For( int j=1; j<=3;j++)q.del();q.add(21);q.show();Getch();}