alt
Advertisement
Sponsored links
Online Training
Career Series
Exforsys
Exforsys arrow Tutorials arrow C Language arrow C Programming - Linked Lists
Site Search


C Programming - Linked Lists

C Programming - Linked Lists

In this tutorial you will learn about C Programming - Linked Lists, Structure, Advantages of Linked List, Types of linked list and Applications of linked lists.

A linked list is called so because each of items in the list is a part of a structure, which is linked to the structure containing the next item. This type of list is called a linked list since it can be considered as a list whose order is given by links from one item to the next.

Structure

Item

®

Each item has a node consisting two fields one containing the variable and another consisting of address of the next item(i.e., pointer to the next item) in the list. A linked list is therefore a collection of structures ordered by logical links that are stored as the part of data.

Consider the following example to illustrator the concept of linking. Suppose we define a structure as follows

struct linked_list
{
float age;
struct linked_list *next;
}
struct Linked_list node1,node2;

this statement creates space for nodes each containing 2 empty fields

node1

 

node1.age

 

node1.next

node2

 

node2.age

 

node2.next

The next pointer of node1 can be made to point to the node 2 by the same statement.
node1.next=&node2;

This statement stores the address of node 2 into the field node1.next and this establishes a link between node1 and node2 similarly we can combine the process to create a special pointer value called null that can be stored in the next field of the last node

Advantages of Linked List:

A linked list is a dynamic data structure and therefore the size of the linked list can grow or shrink in size during execution of the program. A linked list does not require any extra space therefore it does not waste extra memory. It provides flexibility in rearranging the items efficiently.

The limitation of linked list is that it consumes extra space when compared to a array since each node must also contain the address of the next item in the list to search for a single item in a linked list is cumbersome and time consuming.

Types of linked list:

There are different kinds of linked lists they are
Linear singly linked list
Circular singly linked list
Two way or doubly linked list
Circular doubly linked list.

Applications of linked lists:

Linked lists concepts are useful to model many different abstract data types such as queues stacks and trees. If we restrict the process of insertions to one end of the list and deletions to the other end then

we have a mode of a queue that is we can insert an item at the rear end and remove an item at the front end obeying the discipline first in first out. If we restrict the insertions and deletions to occur only at one end of list the beginning then the model is called stacks. Stacks are all inherently one-dimensional. A tree represents a two dimension linked list. Trees are frequently encounters in every day life one example are organization chart and the other is sports tournament chart.


Trackback(0)
Comments (4)add comment

bhushan said:

  your article is really nice and you have presented everything in a lucid manner so that i am able to clear my doubts.
February 19, 2007

kruiz413 said:

  This info is very useful to know about Linked Lists
June 21, 2007

Rachit Saki said:

  It is a mindblowing concept which i came to know through your site.
October 19, 2007

pooja_786 said:

  this concept is so nice to understand...
June 30, 2008

Write comment

busy
 
< Prev   Next >
Exforsys Offers
© 2008 Exforsys.com
Joomla! is Free Software released under the GNU/GPL License.
Page copy protected against web site content infringement by Copyscape