Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void arrayShift(int array[], int size, int shift) {
- int tShift;
- shift %= size;
- if ( shift < 0 ) {
- shift += size;
- }
- tShift = size - shift;
- if ( tShift > shift ) {
- int arraybuffer[shift];
- for ( int i = 0, j = tShift; i < shift; i++, j++ ) {
- arraybuffer[i] = array[j];
- }
- for ( int i = size - 1, j = i - shift; i >= shift; i--, j-- ) {
- array[i] = array[j];
- }
- for ( int i = 0; i < shift; i++ ) {
- array[i] = arraybuffer[i];
- }
- } else {
- int arraybuffer[tShift];
- for ( int i = 0; i < tShift; i++ ) {
- arraybuffer[i] = array[i];
- }
- for ( int i = 0, j = tShift; i < shift; i++, j++ ) {
- array[i] = array[j];
- }
- for ( int i = 0, j = shift; j < size; i++, j++ ) {
- array[j] = arraybuffer[i];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement