Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 5f246bc

Browse files
array rotation using reverse algorithm
1 parent ff02627 commit 5f246bc

File tree

1 file changed

+49
-2
lines changed

1 file changed

+49
-2
lines changed

‎General Programs/ArrayRotation.cpp

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,50 @@
22

33
using namespace std;
44

5-
//array rotation
5+
/*array rotation
6+
1)Rotating one by one
7+
2)Reversal algorithm
8+
*/
9+
10+
11+
void reverseArr(int arr[],int start,int end)
12+
{
13+
while(start < end)
14+
{
15+
swap(arr[start++],arr[end--]);
16+
17+
}
18+
}
19+
20+
void RotateSimpleClock(int arr[],int d,int n)
21+
{
22+
reverseArr(arr,n-d,n-1);
23+
24+
reverseArr(arr,0,n-d-1);
25+
26+
reverseArr(arr,0,n-1);
27+
28+
for(int i = 0 ; i < n ; i++)
29+
{
30+
cout<<arr[i]<<" ";
31+
}
32+
}
33+
34+
35+
void RotateSimpleAntiClock(int arr[],int d,int n)
36+
{
37+
reverseArr(arr,0,d-1);
38+
39+
reverseArr(arr,d,n-1);
40+
41+
reverseArr(arr,0,n-1);
42+
43+
for(int i = 0 ; i < n ; i++)
44+
{
45+
cout<<arr[i]<<" ";
46+
}
47+
}
48+
649

750
void Rotate(int arr[],int d,int n)
851
{
@@ -73,6 +116,10 @@ int main()
73116
{
74117
int arr[] = {1,2,3,4,5,6,7};
75118
int size = sizeof(arr)/sizeof(arr[0]);
76-
RotateEffi(arr,3,size);
119+
RotateSimpleClock(arr,2,size);
120+
cout<<endl;
121+
122+
int arr1[] = {1,2,3,4,5,6,7};
123+
RotateSimpleAntiClock(arr1,2,size);
77124
return 0;
78125
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /