Algorithm efficiency

In terms of Big-O notation, if I'm looking to label the efficiency of the following algorithms what would they fall under? I have some educated guesses at them but I wanted to get some thoughts (or explanation) on it:

Creating an array of size n: O(n)
Creating a linked list of size n. That is, creating nodes which store an item and a pointer to the next node: O(n)
Insertion into an array where I have an index corresponding to where in the array the object goes. I then re-index the rest of the array accordingly: O(1)
Insertion into a linked list where I need to re-arrange pointers after having made the insertion: O(n)
Removing an object from an array and reorganizing the array: ??
Removing a node from a linked list where I need to rearrange the pointers around that node: ??

Can anyone help me?
Removing an object from an array and reorganizing the array: O(1+n-i) (n is the number rof elements in array, i is the position of the element in the array.
Removing a node from a linked list where I need to rearrange the pointers around that node: O(1)
Topic archived. No new replies allowed.