DSA Linkedlists

4
8/19/2019 DSA Linkedlists http://slidepdf.com/reader/full/dsa-linkedlists 1/4 Data Structures And Algorithms Assignment 24/07/2015 1. struct node { struct node* prev int data struct node* ne!t " Insertion at front: #oid insert$%ront & ' { i% &%irst (( last )) %irst (( null' {  print%&empt+,'  head(tail(ne-node  head ne!t ( tailne!t ( null  headprev(tailprev(null " else {  ne-nodene!t(head  headprev(ne-node  head(ne-node  headprev(tail  tailne!t(head  " " Insertion at end: #oid insert$end& ' { i% &%irst (( last )) %irst (( null' {  print%&empt+,'  head(tail(ne-node  head ne!t ( tailne!t ( null  headprev(tailprev(null " else {  tailne!t(ne-node  ne-nodeprev(tail  tail(ne-node  headprev(tail  tailne!t(head " "

Transcript of DSA Linkedlists

Page 1: DSA Linkedlists

8/19/2019 DSA Linkedlists

http://slidepdf.com/reader/full/dsa-linkedlists 1/4

Data Structures And Algorithms Assignment 24/07/2015

1.

struct node {

struct node* prev

int data

struct node* ne!t

"

Insertion at front:

#oid insert$%ront & '

{

i% &%irst (( last )) %irst (( null'

{

 print%&empt+,'

 head(tail(ne-node head ne!t ( tailne!t ( null

 headprev(tailprev(null

"

else

{

  ne-nodene!t(head

  headprev(ne-node

  head(ne-node

  headprev(tail

  tailne!t(head

 ""

Insertion at end:

#oid insert$end& '

{

i% &%irst (( last )) %irst (( null'

{

 print%&empt+,'

 head(tail(ne-node head ne!t ( tailne!t ( null

 headprev(tailprev(null

"

else

{

  tailne!t(ne-node

  ne-nodeprev(tail

  tail(ne-node

  headprev(tail

  tailne!t(head

""

Page 2: DSA Linkedlists

8/19/2019 DSA Linkedlists

http://slidepdf.com/reader/full/dsa-linkedlists 2/4

Insertion anywhere:

#oid insert$pos & '

{

 i% &pos((1'

 {

  insert$%ront&'

  "else

{

  -hile &count ( pos 1 )) tempne!t ( head'

{

  count

temp ( tempne!t

i% &tempne!t (( head )) count pos 1'

{

  cout, 3nvalid osition...,

"

else i% &tempne!t (( head )) count (( pos 1'

{

  insert$end&'

"

else 

{

  ne-nodene!t ( tempne!t

ne-nodeprev ( temp

tempne!tprev ( ne-node

tempne!t ( ne-node

"

"

"

 Deletion at beginning

#oid delete$%ront &'

{

  start ( startrptr

startlptr ( end

endrptr ( start

%ree&temp'

"

Page 3: DSA Linkedlists

8/19/2019 DSA Linkedlists

http://slidepdf.com/reader/full/dsa-linkedlists 3/4

Deletion at end

#oid delete$end&'

{

  end ( endlptr

endrptr ( start

startlptr ( end

%ree&temp'

 "

Deletion anywhere

void delete&'

 {

i%  &pos (( 1'

{

delete$%ront&'

"

else 

{

-hile &count ( pos )) temp ( end'

{

 prev ( temp

temp ( temprptr

count

i%  &temp (( end )) count pos 1'

{

  cout,3nvalid osition., 

"

else i%  &temp (( end )) count (( pos'

{

  delete$end&'

"

else 

{

 prevrptr ( temprptr

temprptrlptr ( prev

%ree&temp'

"

" "

Page 4: DSA Linkedlists

8/19/2019 DSA Linkedlists

http://slidepdf.com/reader/full/dsa-linkedlists 4/4