I think linked list is better when compared to arrays
because size of array is restricted to
declaration.Insertion/Deletion of values in middle of array
is not possible.
Arrays have random access and less overheads compared to
Linked list have sequential access only with too much
overheads and no cache memory support.
On the other hand, arrays allow random access, while linked
lists allow only sequential access to elements. Singly-
linked lists, in fact, can only be traversed in one
direction. This makes linked lists unsuitable for
applications where it's useful to look up an element by its
index quickly, such as heapsort. Sequential access on
arrays is also faster than on linked lists on many machines
due to locality of reference and data caches. Linked lists
receive almost no benefit from the cache.
Another disadvantage of linked lists is the extra storage
needed for references, which often makes them impractical
for lists of small data items such as characters or boolean
values. It can also be slow, and with a naïve allocator,
wasteful, to allocate memory separately for each new
element, a problem generally solved using memory pools.
as arrays are static in nature, therefore all operations
like memory allocation occur at the time of compilation
only. So processor has to put less effort at its runtime .
IN array we can directly access any element by index number
but in linked list if we want to access any element then we
have to go from starting and linearly we access that
element.
Array can be access randomly and it can even access the
middle element by just the array name with the
subscript,eg, a[5].The elemente are allocated a contagious
memory.Whereas in linked list more space is required for
the pointer and the information.Accessing elements in
linked list is sequential.
In arrays memory requirement is less as a refrence is not
required whereas memory for the data as well as for the
pointer is required and hence the overhead.
Arrays allow random access, any element can be accessed
using the subscript whereas linked lists allow sequential
access, accessing of any element requires processing of the
list from the beginning upto the element.
The Main advantage of array data structure is which is used
to hold like kind of data. in other words arrays hold
(save) similar kind of data items and array items stored in
contigues locations in memory. on the other hand link list
may hold unlike kind of data (group of data) and items
stored is not contigues in linked list.