Your SlideShare is downloading.
×

×

Saving this for later?
Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.

Text the download link to your phone

Standard text messaging rates apply

Like this presentation? Why not share!

- Linked list without animation by Lovelyn Rose 1466 views
- Linked lists by SARITHA REDDY 3085 views
- Link List by umiekalsum 6670 views
- Linked list by akshat360 4338 views
- Linked list by eShikshak 2084 views
- Linked list ppt by Dharshana Krishna... 870 views
- linked list by Narendra Chauhan 7018 views
- Linked lists by GowriKumar Chandr... 4414 views
- Single linked list by jasbirsingh chauhan 18334 views
- Linked lists by ammara siddiqui by Alizay Khan 1269 views
- Linklist by SHEETAL WAGHMARE 1338 views
- Singly Linked List by mahi by Marupakula Goud 177 views

Like this? Share it with your network
Share

849

Published on

U2.linked list

U2.linked list

No Downloads

Total Views

849

On Slideshare

0

From Embeds

0

Number of Embeds

1

Shares

0

Downloads

79

Comments

0

Likes

3

No embeds

No notes for slide

- 1. List ADT List is an ordered collection of items. Items in the collection may be integers, Strings, characters or any kind of objects. Basic operations are Adding an item to the collection Deleting an item from the collection Testing if list is empty Testing if list is full Getting an item on specified location Getting an item with specified key value
- 2. Linked List Collection of links with reference to the first. Each link has part to store data link that refers to the next link in the list. Data part of the link can be an integer, a character, a String or an object of any kind.
- 3. Linked Lists A linked list is a linear collection of data elements called nodes where linear order is given by means of pointers. Each node has two parts 1) Data Field – Stores data of the node 2) Link Field – Store address of the next node ( i.e. Link to the next node) LINK NODE : DATA
- 4. Linked Lists -START is List pointer contains address of the first node in the List - All nodes are connected to each other through Link fields - Link of the last node is NULL pointer denoted by ‘X’ sign - Null pointer indicated end of the liststart data link datalink datalink Data link x A B C D
- 5. Algorithms Lets consider,• START is the 1st position in Linked List• NewNode is the new node to be created• DATA is the element to be inserted in new node• POS is the position where the new node to be inserted• TEMP and HOLD are temporary pointers to hold the node address
- 6. Algorithm to Insert a Node at the beginning 1. Input DATA to be inserted 2. Create NewNode 3. NewNode -> DATA = DATA 4. If START is equal to NULL a) NewNode -> LINK = NULL 5. Else a) NewNode -> LINK = START 6. START = NewNode 7. Exit
- 7. Insert a Node at the beginningstart datalink datalink data link NewNode x
- 8. Algorithm to Insert a Node at the end1. Input DATA to be inserted2. Create NewNode3. NewNode -> DATA = DATA4. NewNode -> LINK = NULL5. If START is equal to NULL a) START = NewNode 6. Else a) TEMP = START b) while (TEMP -> LINK not equal to NULL) i) TEMP = TEMP -> LINK 7. TEMP -> Link = NewNode 8. Exit
- 9. Insert a Node at the endstart data link datalink datalink NewNode X A B C P
- 10. Algorithm to Insert a Node at any specified position1. Input DATA to be inserted and POS, the position to be inserted.2. Initialize TEMP = START and K=13. Repeat step 3 while ( K is less than POS) a) TEMP = TEMP -> LINK b) If TEMP -> LINK = NULL i) Exit c) K = K + 1 4. Create a Newnode 5. Newnode -> DATA = DATA 6. Newnode -> LINK = TEMP -> LINK 7. TEMP -> LINK = NewNode 8. Exit
- 11. Insert a Node at middle positionstart Lets consider, POS = 3 1 2 3 4 data link datalink datalink data link x C A B D NewNode P
- 12. Algorithm to Delete a Node 1. Input DATA to be deleted 2. If START is equal to DATA a) TEMP = START b) START = START -> LINK c) Set free node TEMP - which is deleted d) Exit 3. HOLD = START 4. While ((HOLD -> LINK ->LINK) not equal to NULL) a) If(HOLD -> LINK ->DATA) equal to DATA i) TEMP = HOLD -> LINK ii) HOLD -> LINK = TEMP -> LINK iii) Set free node TEMP - which is deleted iv) Exit b) HOLD = HOLD -> NEXT
- 13. Algorithm to Delete a Node 5. If(HOLD -> LINK ->DATA) equal to DATA i) TEMP = HOLD -> LINK ii) Set free node TEMP - which is deleted iii) HOLD -> LINK = NULL iv) Exit 6. Display DATA not found 7. Exit
- 14. Algorithm to Delete a Node Node to bestart deleted data link datalink datalink data link x A B C D
- 15. Algorithm for Searching a Node Suppose START is the address of the first node in the linked list and DATA is the informSation to be searched.1. Input the DATA to be searched.2. Initialize TEMP = START and Pos =13. Repeat the step 4,5 and 6 until (TEMP is equal to NULL)4. If (TEMP -> DATA is equal to DATA) (a) Display “The DATA found at POS “ (b) Exit 5. TEMP = TEMP -> LINK 6. POS = POS + 1 7. If (TEMP is equal to NULL) (a) Display “ The DATA is not found in the list” 8. Exit.
- 16. Algorithm for Displaying all Nodes Suppose List is the address of the first node in the linked list.1. If ( START is equal to NULL) ( a ) Display “The List is Empty” ( b ) Exit2. Initialize TEMP = START3. Repeat the Step 4 and 5 until (TEMP == NULL)4. Display TEMP -> DATA5. TEMP = TEMP -> LINK6. Exit
- 17. Singly Linked Lists and Arrays Singly linked list Array Elements are stored in linear Elements are stored in linear order, accessible with links. order, accessible with an index. Do not have a fixed size. Have a fixed size. Cannot access the previous Can access the previous element directly. element easily.
- 18. Doubly Linked List A doubly linked list is often more prev next convenient! Nodes store: element link to the previous node elem node link to the next node Special trailer and header nodesheader nodes/positionstrailer elements
- 19. Insertion We visualize operation insertAfter(p, X), which returns position q p A B C p A B q C X p q A B X C
- 20. Deletion We visualize remove(p), where p == last() p A B C D A B C p D A B C

Be the first to comment