954,545 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Shifting Elements in an Array k places to the right.

Hi I need to write a method that will rotate the elemnts in an array by a factor of k. ie shift each element k places to the right.

Here is the question i have been set

In the class ArrayLinearList a linear list is represented in an one-dimensional array element. The data member size is such that the list elements are in positions 0 through size-1 of the array. Write a new method rotate that will rotate the elements of the linear list k positions to the right. For example, if the list element[0:5] = [1, 2, 3, 4, 5, 6] is rotated by k=3, the result is [4, 5, 6, 1, 2, 3].

I've tried by inserting an element once i've shifted the elements one place to the right but I'm sure that this is incorrect. If anyone can be of any help I will be very grateful.

Mus.

mus_203
Newbie Poster
11 posts since Sep 2004
Reputation Points: 10
Solved Threads: 0
 

Hi everyone,

What you can do is get the factor and add the array position of the variable to that factor and then that will be the new array position of the variable

If the new variable position in the array exceeds the array length ,minus the the array length from the new array position of the variable.

Put this in a loop and loop it for all the variables in the array

I hope this helps you

Yours Sincerely

Richard West

freesoft_2000
Practically a Master Poster
623 posts since Jun 2004
Reputation Points: 25
Solved Threads: 10
 

Remember that arrays in Java don't grow so you need to take care of the buffering yourself.

If you move say 5 places to the right, create a buffer of 5 elements.
Move the last 5 elements out of the array into the buffer, then move every element in the array (except those 5) 5 places to the right.
Finally most those 5 elements into the first 5 positions in the original array.

jwenting
duckman
Team Colleague
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
 

Thanks a lot for that. Really appreciate it.

Mus.

mus_203
Newbie Poster
11 posts since Sep 2004
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You