Linked lists - implementation, Data Structure & Algorithms

The Linked list is a chain of structures wherein each structure contains data in addition to pointer, which stores the address (link) of the next logical structure in the list.

A linked list is a data structure utilized to maintain a dynamic series of data. Think of linked list as a line of bogies of train where each of bogies is related on to the next bogie. If you have the idea of where the first bogie is, you can follow the link to the next bogie. By following links, you can determine any bogie of the train. While you get to a bogie which isn't holding (linked) on to another bogie, you know you are at the ending.

Linked lists work in the similar way, except programmers generally refer to nodes rather than bogies. A single node is described in the similar way as any other user defined type or the object, except that it also contains a pointer to a variable of the similar type as itself.

We will be seeing how the linked list is stored into the memory of the computer. In the following Figure, we can illustrates that start is a pointer i.e. pointing to the node that contains data as A& the node B is pointing to the node C and the last node  is not pointing to any node. Given 1000,1050,1200 are memory addresses.

1258_LINKED LISTS - IMPLEMENTATION.png

Figure: A Singly linked list

Consider the following definition:

typedefstruct node

{

int data;

struct node *next;

} list;

Once you consists a definition for list node, you can create a list easily by declaring a pointer to the first element, called as the "head". Generally a pointer is utilizedrather than a regular variable. List can be described as

list *head;

This is as simple as that! Now you have a linked list data structure. It isn't in general useful at the moment. You can illustrate if the list is empty. We will be seeing how to declare & define list-using pointers in the following program.

#include

typedefstruct node

{

 

int data;

struct node *next;

} list;

int main()

{

list *head = NULL; /* initialize list head to NULL */

if (head == NULL)

{

printf("The list is empty!\n");

}

}

Posted Date: 4/11/2013 2:53:33 AM | Location : United States







Related Discussions:- Linked lists - implementation, Assignment Help, Ask Question on Linked lists - implementation, Get Answer, Expert's Help, Linked lists - implementation Discussions

Write discussion on Linked lists - implementation
Your posts are moderated
Related Questions
Explain the concept of hidden lines The problem of hidden lines or surfaces was implicit even in 2-D graphics, but we did not mention it there, because what was intended to be

Ask question #explain it beriflyMinimum 100 words accepted#

Q. Explain the basic concept of the primitive data structures.                                             Ans. The concept of P r i m i t i ve Data

The objective analysis of an algorithm is to determine its efficiency. Efficiency is based on the resources which are used by the algorithm. For instance, CPU utilization (Ti

Best Case: If the list is sorted already then A[i] T (n) = c1n + c2 (n -1) + c3(n -1) + c4 (n -1)  = O (n), which indicates that the time complexity is linear. Worst Case:

Q.1 What is an algorithm? What are the characteristics of a good algorithm? Q.2 How do you find the complexity of an algorithm? What is the relation between the time and space c

Algo rithm to Insert a Node p at the End of a Linked List is explained below Step1:   [check for space] If new1= NULL output "OVERFLOW" And exit Step2:   [Allocate fr

Define File organization''s and it''s types

i want to write code for unification algorithm with for pattern matching between two expression with out representing an expression as alist

For a queue a physical analogy is a line at booking counter. At booking counter, customers go to the rear (end) of the line & customers are attended to several services from the fr