We will discuss an easy approach to generate all the rotations of a string. Approach is simple we will concatenate the given string with itself and then we will be able to generate all the rotations. C++ Program to generate all the rotations of a given string is given below along with its algorithm.

step 1: Let string s

step 2: Let string temp=s

step 3: Set temp=temp+temp i.e (temp="plexplex")

step 4: set i=0,j=0

step 5: For i=0 to length(s):

declare an empty variable e.g temp1=""

For j=0 to length(s):

set temp1=temp1+temp[i+j]

print(temp1)

**Algorithm:**step 1: Let string s

**=**"plex"step 2: Let string temp=s

**i.e (temp="plex")**step 3: Set temp=temp+temp i.e (temp="plexplex")

step 4: set i=0,j=0

step 5: For i=0 to length(s):

declare an empty variable e.g temp1=""

For j=0 to length(s):

set temp1=temp1+temp[i+j]

print(temp1)

**Program:**#include <bits/stdc++.h> #include <algorithm> using namespace std; int main(){ string s; cout<<"\nEnter the string to find out its rotations: \n"; cin>>s; //a string container to store all the rotations std::vector<string> vect; //copying string s into temp string temp=s; //now contacenate string 'temp' with itself.. //ex: temp="plexinfo" so, after concatenation temp="plexinfoplexinfo" temp=temp+temp; // cout<<temp<<"\n"; //loop from 0 to length(s)- for(int i=0;i<s.size();i++){ string temp1=""; //declaring an empty string for(int j=0;j<s.size();j++){ temp1=temp1+temp[i+j]; } vect.push_back(temp1); } cout<<"\nAll the rotations of the given string are:\n\n"; for(int i=0;i<vect.size();i++){ cout<<vect[i]<<"\n"; } return 0; }

**OUTPUT:**
EmoticonEmoticon