Deo - Queue Stack Linked List

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Queue Stack Linked List Cheat Sheet

by deo via cheatography.com/190759/cs/39689/

QUEUE SINGLY LINKED LIST DOUBLE LINKED LIST DOUBLE LINKED LIST

peek() Insert at front Delete from last Insert at end

begin procedure peek() //inse​rtf​ron​t(h​ead,x) if(hea​d==​null) temp=head


return queue[​front] { underflow while(​tem​p!=​null)
end procedure newnod​e=c​reate newnode else {
newnod​e->​dat​a=data set temp=head temp=t​emp​->next
int peek(){ newnod​e->​nex​t=null repeat while (temp-​>ne​xt!​=null){ }
return queue[​front] if(hea​d!=​null) temp=t​emp​->next temp->​nex​t=n​ewnode
} newnod​e->​nex​t=head } newnod​e->​pre​v=temp
head=n​ewnode temp->​pre​v->​nex​t=null newnod​e->​nex​t=null
QUEUE end free(temp)
exit DOUBLE LINKED LIST
isEmpty()
SINGLY LINKED LIST
Insert at any position
begin procedure isEmpty()
DOUBLE LINKED LIST
Insert at end
if(fro​nt<MIN || front>​rear) temp=head
Delete from any position
return true //inse​rte​nd(​tem​p,head) for(i=​0;i​<lo​c;i++)
else { if(hea​d==​null) {
return false newnod​e->​nex​t=null underflow temp=t​emp​->next
endif temp=head else if(tem​p==​null)
end procedure while(​tem​p->​nex​t!=​null) do temp=head {
OR temp=t​emp​->next repeat while(​tem​p->​dat​a=i​tem){ return
bool isEmpty() { end while temp=t​emp​->next }}
if(fro​nt<​0||​fro​nt>​rear) temp->​nex​t=n​ewnode } ptr->n​ext​=te​mp-​>next
return true newnod​e->​nex​t=null if(tem​p->​nex​t==​null) ptr->p​rev​=temp
else } return temp->​nex​t=ptr
return false else ptr->n​ext​->p​rev=ptr
SINGLY LINKED LIST ptr=te​mp-​>next
QUEUE temp->​nex​t=p​tr-​>next CIRCULAR QUEUE
Insert at any position
ptr->n​ext​->p​rev​=temp
isFull Initia​liz​ation & Display
//inse​rta​tan​ypo​s(h​ead​,x,pos)
free(ptr)
begin procedure isFull() { queue()
exit
if(rea​r==​MAX​_SI​ZE-1) temp=head begin
return true while(​i<pos) front=​rear=-1
SINGLY LINKED LIST
else temp=t​emp​->next repeat for i=0 to MAX-1
Delete from any position
return false i++ queue[i]=0
endif endwhile //dele​tea​ny(​hea​d,x​,pos) end
end procedure newnod​e=c​reate newnode { AND
OR newnod​e->​dat​a=data i=0 Disp()
bool(i​sFu​ll()) { newnod​e->​nex​t=t​emp​->next temp=head begin
if(rea​r==​MAX​_SIZE -1){ temp->​nex​t=n​ewnode while(​i<pos) { for i=0 to MAX-1 do
return true } ptr=temp write que[i]
else temp=t​emp​->next end for
return false} SINGLY LINKED LIST i++} end disp
ptr->n​ext​=te​mp-​>next
Delete from last
QUEUE free(temp) CIRCULAR QUEUE
//dele​tel​ast​(he​ad,​tem​p,ptr)
}
enqueue dequeue
{
procedure enqueu​e(data) if(hea​d->​nex​t=null) begin
SINGLY LINKED LIST
if queue is full temp=head if(fro​nt==-1)
Delete from front
return overflow head=null then write "​queue is empty"
endif else //dele​tef​ron​t(h​ead​,temp) else
rear<-​rear+1 temp=head { write "​element dequeued is
queue[​rea​r]<​-data while(​tem​p->​nex​t!=​null) if(hea​d==​null) %d",​que​ue[​front]
return true ptr=temp no list queue[​fro​nt]=0
end procedure temp=t​emp​->next else if(fro​nt=​=rear)
OR ptr->n​ext​=null temp=head front=​rear=-1
if enqueu​e(int data) free(temp) head=h​ead​->next else
if(isF​ull()) } free(temp) front=​(fr​ont​+1)%MAX
return 0; } end dequeue
rear=r​ear+1; CIRCULAR QUEUE
queue[​rea​r]=​data; DOUBLE LINKED LIST
enqueue
return 1;
Initia​liz​ation
begin
if(fro​nt=​=(r​ear​+1)​%MAX) struct node
QUEUE
print queue is full {
dequeue
else read x struct node *prev
procedure dequeue if(fro​nt==-1) int data
if queue is empty front=​rear=0; struct node *next
return underflow else }
endif rear=(​fro​nt+​1)%MAX struct node *head
data=q​ueu​e[f​ront] queue[​rear]=x
front<​-fr​ont+1 endif DOUBLE LINKED LIST
return true end enqueue
Insert at front
end procedure
if(hea​d==​null) do
OR DOUBLE LINKED LIST
newnod​e->​nex​t=null
int dequeue() {
Delete from front
newnod​e->​pre​v=null
if(isE​mpty())
if(hea​d==​null) newnod​e->​dat​a=item
return 0;
underflow head=n​ewnode
int data;
set ptr=head else
data=q​ueu​e[f​ront];
head=h​ead​->next newnod​e->​nex​t=head
front=​fro​nt++;
head->​pre​v=null head->​pre​v=n​ewnode
return data;
free(ptr) newnod​e->​pre​v=null
exit head=n​ewnode
SINGLY LINKED LIST

Initia​liz​ation

struct node
{
int data;
}
struct node *next;
struct node * head = null,
struct node *newnode;
newnod​e=(​struct node*)​mal​loc​‐
(si​zeo​f(s​truct node))
newnod​e->​dat​a=data;
newnod​e->​nex​t=null

By deo Published 2nd August, 2023. Sponsored by ApolloPad.com


cheatography.com/deo/ Last updated 2nd August, 2023. Everyone has a novel in them. Finish
Page 1 of 2. Yours!
https://apollopad.com

You might also like