Professional Documents
Culture Documents
programs (1)
programs (1)
programs (1)
#include<stdio.h>
#include<stdlib.h>
#define MAX 10
int queue[MAX];
int front=-1,rear=-1;
void deque();
void display();
void Front();
void Rear();
int is_full();
int is_empty();
void main(){
int c;
while(c!=8){
scanf("%d",&c);
switch(c){
case 1:
int ele;
scanf("%d",&ele);
enque(ele);
break;
case 2:
deque();
break;
case 3:
display();
break;
case 4:
Front();
break;
case 5:
Rear();
break;
case 6:
int l =is_full();
if(l==1){
printf("\nqueue is full\n");
}else{
break;
case 7:
int k = is_empty();
if(k==1){
printf("\nqueue is empty\n");
}else{
break;
case 8:
exit(0);
if(front==-1){
front=0;
rear+=1;
queue[rear]=ele;
void deque(){
if(front==-1&&rear==-1){
printf("\nqueue is underflowing\n");
else if(front>rear){
else{
queue[front++];
void display(){
if(front==-1&&rear==-1){
return;
for(int i=front;i<=rear;i++){
printf(" %d ",queue[i]);
void Front(){
if(front==-1&&rear==-1){
printf("no elemntd to delete");
return;
void Rear(){
if(front==-1&&rear==-1){
return;
int is_empty(){
if(front==-1&&rear==-1||front>rear){
return 1;
return 0;
int is_full(){
if(rear==MAX-1){
return 1;
return 0;
#include<stdio.h>
#include<stdlib.h>
#define MAX 10
struct queue{
int job_id;
int num_pages;
};
void deque();
void display();
int main(){
int i,j,n,temp,temp1;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&jobs[i].job_id);
scanf("%d",&jobs[i].num_pages);
printf("\n");
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
if(jobs[i].num_pages>jobs[j].num_pages){
temp=jobs[i].num_pages;
jobs[i].num_pages=jobs[j].num_pages;
jobs[j].num_pages=temp;
temp1=jobs[i].job_id;
jobs[i].job_id=jobs[j].job_id;
jobs[j].job_id=temp1;
}
for(i=0;i<n;i++){
enque(jobs[i].job_id,jobs[i].num_pages);
display();
for(i=0;i<n;i++){
if(count==0){
return 0;
deque();
display();
return 0;
if(count==MAX-1){
printf("queue overflow");
return;
else if(front==NULL&&rear==NULL){
new->job_id = jobid;
new->num_pages = pages;
new->next = NULL;
front=new;
rear=new;
count++;
}
else{
new->job_id = jobid;
new->num_pages = pages;
new->next = NULL;
rear->next = new;
rear = new;
count++;
void deque(){
if(count==0){
printf("queue underflow");return;
else{
front = front->next;
free(temp2);
count--;
if(front==NULL){
rear = NULL;
void display(){
printf(" \n ");
if(front==NULL&&rear==NULL&&count==0){
return;
else{
struct queue *temp3=front;
while(temp3!=NULL){
temp3=temp3->next;
return;
#include<stdio.h>
#define capacity 6
int queue[capacity];
int front = -1, rear = -1;
else
{
if (front == -1)
front = 0;
}
}
int main ()
{
// Not possible as the Circular queue is empty
dequeue ();
enqueue (15);
enqueue (20);
enqueue (25);
enqueue (30);
enqueue (35);
print ();
dequeue ();
dequeue ();
print ();
enqueue (40);
enqueue (45);
enqueue (50);
enqueue (55); //Overflow condition
print ();
return 0;
}
#include <stdio.h>
#include<ctype.h>
char s[max];
s[++top]=element;
char pop(){
return(s[top--]);
switch (element)
case '(':
return 1;
case '+':
case '-':
return 2;
case '*':
case '/':
return 3;
int main(void) {
char infix[50],postfix[50],ch,element;
int i=0,k=0;
scanf("%s",infix);
while((ch = infix[i++])!='\0'){
if(ch=='(')
push(ch);
else if(isalnum(ch))
postfix[k++]=ch;
else if(ch==')'){
while(s[top]!='(')
postfix[k++]=pop();
element=pop();
else{
while(priority(s[top])>=priority(ch))
postfix[k++]=pop();
push(ch);
while(top!=-1){
postfix[k++]=pop();
}
postfix[k]='\0';
return 0;