lists and positions

suppose i remove a value from a list by its position will the position of all other values change accordingly

If you are a implementing a list using pointer concept ( Dynamically )then you do not need to change the position of all elements and if you are implementing statically then you have to change positions;

So always implement your list dynamically.

For Example
your list pointer is *list which is pointing the head of list i mean first value

no you would like to delete 4th one so traverse the list and do follows

  1. list prev pointer points the list next pointer
    so by this way you can delete ant value by its position.