Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6589483
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T17:10:50+00:00 2026-05-25T17:10:50+00:00

Please explain what is the advantage of linked list over an array. And also

  • 0

Please explain what is the advantage of linked list over an array. And also is there any advantage of using array compared to linked list.

Regards,
Shoaib

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T17:10:51+00:00Added an answer on May 25, 2026 at 5:10 pm

    Both store a sequence of elements, but using different techniques.

    An array stores elements in successive order in memory, i.e. it looks like follows:

    --------------------------------------------------------------------------------------
    |  item 1  |  item 2  |  item 3  |  ...  ...  |  item x  | //here comes other stuff
    --------------------------------------------------------------------------------------
    

    This means, elements are one after another consecutive in memory.

    A ((doubly) linked) list, on the other hand, stores the items the following way: It creates an own “list item” for each element; this “list item” holds the actual element and a pointer/reference/hint/etc to the next “list item”. If it is doubly linked, it also contains a pointer/reference/hint/etc to the previous “list item”:

                                      ------------
    ------------        ----------    |  item 4  |
    |  item 1  |        | item 2 |    |  next ---+----...
    |  next ---+------->| next   |    ------------
    ------------        ---+------      ^
                           |            |
                           |            |
                           v            |
                           ----------   |
                           | item 3 |   |
                           | next --+---+
                           ----------
    

    This means, the elements can be spread all over the memory and are not stored at specific memory locations.

    Now that we know this, we can compare some usual operations on sequences of elements:

    • Accessing an element at a specific index: Using an array, we simply compute the offset for this index and have the element at the index.

      This is very cheap. With a list on the other hand, we do not know a priori where the element at index is stored (since all elements can be anywhere in memory), so we have to walk the list item by item until we find the element at the index. This is an expensive operation.

    • Adding a new element at the end of the sequence: Using an array this can lead to the following problem: Arrays are usually of fixed size, so if we have the situation that our array is already completely filled (see //here comes other stuff), we probably cant put the new element there because there might already be something else. So, maybe we have to copy the whole array. However, if the array is not filled, we can simply put the element there.

      Using a list, we have to generate a new “list item”, put the element into it and set the next pointer of the currently last element to this new list item. Usually, we store a reference to the currently last element so that we don’t have to search through the whole list to find it. Thus, inserting a new element is no real problem with lists.

    • Adding a new element somewhere in the middle: Let’s first consider arrays: here, we might get into the following situation: We have an array with elements 1 to 1000:

      1 | 2 | 3 | 4 | 5 | 6 | ... | 999 | 1000 | free | free

      Now, we want to insert 4.5 between 4 and 5: This means, we have to move all elements from 5 to 1000 one position right in order to make space for the 4.5:

       1 | 2 | 3 | 4 | free | 5 | 6 | ... | 999 | 1000 | free
      
                        ||
                        vv
      
       1 | 2 | 3 | 4 | 4.5  | 5 | 6 | ... | 999 | 1000 | free
      

      Moving all these elements, is a very expensive operation. So better don’t do this too often.

      Now we consider, how a list can perform this task: Let’s say we have currently the following list:

       1 -> 2 -> 3 -> 4 -> 5 -> ... -> 999 -> 1000
      

      Again, we want to insert 4.5 between 4 and 5. This can be done very easily: We generate a new list item and update the pointers/references:

       1 -> 2 -> 3 -> 4        5 -> ... -> 999 -> 1000
                      |        ^
                      +-> 4.5 -+
      

      We have simply created a new list element and generated sort of “bypass” to insert it – very cheap (as long as we have a pointer/reference to the list item the new element will be inserted after).

    So, let’s sum up: Linked lists are really nice when it comes to inserting at random positions (as long as you have a pointer to the adequate list item). If your operation involves adding lots of elements dynamically and traversing all elements anyway, a list might be a good choice.

    An array is very good when it comes to index accesses. If your application needs to access elements at specific positions very often, you should rather use an array.

    Notable things:

    • Solving the fixed-size problem for arrays: As mentioned before, (raw) arrays are usually of fixed size. However, this problem is nowadays no real point anymore, since almost all programming languages provide mechanisms to generate arrays that grow (and possibly shrink) dynamically – just as needed. This growing and shrinking can be implemented such that we have amortized runtime of O(1) for inserting and removing elements (at the end of the array) and such that the programmer doesn’t have to call grow and shrink explicitly.

    • Since lists provide such nice properties for insertions, they can be used as underlying data structures for search trees, etc. I.e. you construct a search tree, whose lowest level consists of the linked list.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Please explain what this task is about? Create a generic linked list class that
Please explain what this is doing with regards to calling a function and using
Could some one please explain the advantages and disadvantages of using the new MVC2
Please explain using plain english why we need and why we use Interface in
Please explain about the connectivity of data using AMFPHP between the flash frontend and
Could someone please explain to me how to draw a string using UIStringDrawing instead
Can someone please explain traits in Scala? What are the advantages of traits over
Please Explain the following code #include <iostream> using namespace std; int main() { const
Possible Duplicate: Advantages of using forward Could someone please explain to me what perfect
Please explain following IF statement (Microsoft Excel 2010). =IF(I12=0,Table!D13,Table!D15)+0.5 Please also explain the evaluation.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.