Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

what is the difference between arrays and linked list

Answer Posted / jaroosh

>Array is a simple sequence of numbers which are not
>concerned about each-others positions.
This is not true, what about arrays of objects ? They may be
concerned about each other in some way.

>adding,removing or modifying any array element is very >easy.
This is untrue also, adding, removing elements in array is
significantly more complex than removing or adding elements
in linked list. This is because removing elements from array
causes all elements after it to be shifted back, whereas
with linked list, its merely traversing the list to find the
node, previous node, and the next node and setting pointers,
and inserting element into array will probably call for
1) resizing the whole array size (ie. assingning a new,
bigger memory chunk for it)
2) copying elements from the former smaller array to the new
- bigger one.
This is a huge trade off, provided that in list, its simply
matter of setting the NEXT pointer of one of the nodes.

Main differences between the two are:
1) arrays are RANDOM ACCESS structures, where you can access
elements in random/indexed manner, whereas list is a
sequential access structure. This makes such algorithms like
heap sort or binary search to work much faster on arrays
2) arrays are static/fixed size whereas lists are dynamic
size structures. It means that when creating an array (both
on stack or heap), you HAVE to specify its size. With lists,
you just create an empty list and freely expand it
3) array consist of continuous chunks of memory, ie. nth
element is at the memory location of :
address_of_array + sizeof(array_element_type) * n
this always holds true, that is why following will always work :
for(int i=0;i < ARRAY_SIZE; i++)
cout << *(array++);
List is a sequence of nodes, connected by NEXT pointers, so
consequent nodes may lie WHEREVER in memory

Is This Answer Correct ?    122 Yes 22 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Calculate the weighted average of a list of n numbers using the formula xavg = f1x1+f2x2+ ….+ fnxn where the f’s are fractional weighting factors, i.e., 0<=fi<1, and f1+f2+….+fn = 1

4198


hello freinds next week my interview in reliance,nybody has an idea about it intervew questions..so tell

2141


Explain the use of fflush() function?

1036


explain how do you use macro?

1105


What is the difference between call by value and call by reference in c?

1122


Can we use visual studio for c?

1019


Is there a way to switch on strings?

1036


What is sorting in c plus plus?

939


I need a sort of an approximate strcmp routine?

993


What is const volatile variable in c?

996


What is indirection? How many levels of pointers can you have?

1095


What is the difference between the expression “++a” and “a++”?

1182


Explain argument and its types.

1006


what is the differnce between programing langauge and tool? is sas is a programing langauge r tool?

2320


Explain what is the difference between far and near ?

1057