answersLogoWhite

0


Best Answer

Array Pros:

* can access any element of an array directly * can be used to create other useful data structures (queues, stacks) * light on memory usage compared to other structures Array Cons:

* rigid structure * can be hard to add/remove elements

* cannot be dynamically resized in most languages Linked List Pros:

* easy to add/remove/change elements * flexible (can contain user defined data types and other fun stuff) * also lighter on memory usage than many other structures Linked List Cons:

* cannot be easily sorted * must traverse 1/2 the list on average to access any element * more complex to create than an array

User Avatar

Wiki User

15y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

11y ago

Advantages:

1. We can traverse in both directions i.e. from starting to end and as well as from end to starting.

2. It is easy to reverse the linked list.

3. If we are at a node, then we can go to any node. But in linear linked list, it is not possible to reach the previous node.

Disadvantages:

1. It requires more space per space per node because one extra field is required for pointer to previous node.

2. Insertion and deletion take more time than linear linked list because more pointer operations are required than linear linked list.

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

Disadvantages:

  1. Extra memory is needed for storing the pointer .
  2. Array can be randomly accessed , while the Linked list cannot be accessed Randomly
  3. Individual nodes are not stored in the contiguous memory Locations.
  4. Access time for Individual Element is O(n) whereas in Array it is O(1).
This answer is:
User Avatar

User Avatar

Wiki User

12y ago

Advantages

We can traverse the node in both directions.

It has two links i.e. left and right links.

Disadvantages

It requires large coding and the links has to be managed carefully.

This answer is:
User Avatar

User Avatar

Wiki User

11y ago

*Linked lists can grow or shrink in size during execution of a program.

*Linked list does not waste memory space.it uses the memory that is just needed for the list at any point of time.

*The linked lists provide flexibility is allowing the items to be rearranged efficiently.

*It is easier to insert or delete items by rearranging the links.

This answer is:
User Avatar

User Avatar

Wiki User

11y ago

Linked lists can dynamically change their size without reallocating memory and copying values from the old area to the new area. The disadvantage is that linked lists use a constant overhead more memory than a regular array, which is the hardware's pointer size per node (e.g. in 32 bit mode, a memory structure of 8 bytes requires 12 bytes of memory per node, while the array requires only 8 bytes per node, or an increase of 50% more memory usage). This disadvantage becomes less troublesome with larger-sized elements; data structures that are 1024 bytes long would use 1028 bytes of memory, or a cost of approximately 0.4%. This cost is doubled if the linked list is a doubly-linked list, and is also doubled for 64-bit addressing (such as modern 64-bit operating systems). At 8 bytes per node, a double-linked, 64-bit pointer node costs 24 bytes per node, which is a 200% increase. Linked lists are typically used for larger data sets that are being added and removed at a fairly constant rate, with unpredictable spikes and drops in memory usage.

This answer is:
User Avatar

User Avatar

Wiki User

11y ago

it has only one way connection but as in doubly linked list it has two way connection

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What are the advantages Linked Lists in C?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

What advantages of a sorted list over a linked list?

All lists are linked lists; there is no such thing as a separate "sorted list". There are algorithms that can sort a list, of course, but they all work on linked lists.


What are the advantages of linked list over arrays?

# Linked lists do not need contiguous blocks of memory; extremely large data sets stored in an array might not be able to fit in memory. # Linked list storage does not need to be preallocated (again, due to arrays needing contiguous memory blocks). # Inserting or removing an element into a linked list requires one data update, inserting or removing an element into an array requires n (all elements after the modified index need to be shifted).


What is the code for c and c plus plus program to merge two circular linked list?

Circular linked lists are really no different to ordinary linked lists, other than that the tail node points back to the head node (and vice versa if the list is doubly-linked). Therefore the merge process is exactly the same: iterate through the second list and insert each node's data into the first list. Since lists are un-associated containers, it doesn't matter where the insertions occur but, by convention, insertions typically occur at the tail of the list. If an order must be maintain, an insertion sort should be employed instead. Note that if you need to maintain the original two lists (in their un-merged state), simply copy the first and insert the second into the copy instead.


Explain any two advantages using Single linked list over Doubly linked list and vice-versa?

Advantages of single linked list: # Decrease in storage space per linked list node # Simpler implementation Advantages of double linked list # Decrease in work when accessing a random node # Decrease in work when inserting or deleting a node


What is a linked list used for?

A linked list is used in computer science to store data as a series of related nodes. Linked lists are used as the basis for abstract data types when programming. The chief advantage of a linked list is that data can be added or removed from the list without having to reorganize the whole list. A drawback to linked lists can be that it is difficult to sort, organize, or recall specific information from the list.

Related questions

What advantages of a sorted list over a linked list?

All lists are linked lists; there is no such thing as a separate "sorted list". There are algorithms that can sort a list, of course, but they all work on linked lists.


Is there a c program to multiply two polynomials using linked lists?

yes


What is mean by Loopy Linked Lists?

for example: Element a, b, c; a.next = &b; b.next = &c; c.next = &a;


What are the advantages of linked list over arrays?

# Linked lists do not need contiguous blocks of memory; extremely large data sets stored in an array might not be able to fit in memory. # Linked list storage does not need to be preallocated (again, due to arrays needing contiguous memory blocks). # Inserting or removing an element into a linked list requires one data update, inserting or removing an element into an array requires n (all elements after the modified index need to be shifted).


What is binary linked list?

There is no such thing. There are binary trees and linked lists.


Lists the advantages and disadvantages of the compound and stereoscopic microscope.?

lists the advantages and disadvantages of the compaund and stereoscopic microscope


How can we represent polynomials using linked lists?

30


What is the code for c and c plus plus program to merge two circular linked list?

Circular linked lists are really no different to ordinary linked lists, other than that the tail node points back to the head node (and vice versa if the list is doubly-linked). Therefore the merge process is exactly the same: iterate through the second list and insert each node's data into the first list. Since lists are un-associated containers, it doesn't matter where the insertions occur but, by convention, insertions typically occur at the tail of the list. If an order must be maintain, an insertion sort should be employed instead. Note that if you need to maintain the original two lists (in their un-merged state), simply copy the first and insert the second into the copy instead.


Disadvantages of linked lists in c?

Because the C programming language leaves the responsibility for memory allocation and pointers entirely with the programmer, the disadvantage of linked lists over some other linear data structures (such as arrays) is that the bear a risk or memory leaks and invalid pointers. The fact that the size of a linked list is generally not deterministic is also commonly viewed a disadvantage over statically linked linear containers (e.g. arrays) in some systems, primarily in embedded systems. Compared to containers of higher order (such as trees or hash tables), search operations in a linked list are generally slower. Compared to a double linked list, removal and insertion of items (except head and tail) is generally more expensive.


Explain any two advantages using Single linked list over Doubly linked list and vice-versa?

Advantages of single linked list: # Decrease in storage space per linked list node # Simpler implementation Advantages of double linked list # Decrease in work when accessing a random node # Decrease in work when inserting or deleting a node


What is a MET?

The website linked below lists 49 different meanings for MET.


What is a linked list used for?

A linked list is used in computer science to store data as a series of related nodes. Linked lists are used as the basis for abstract data types when programming. The chief advantage of a linked list is that data can be added or removed from the list without having to reorganize the whole list. A drawback to linked lists can be that it is difficult to sort, organize, or recall specific information from the list.