The cshift() function is defined in valarray header file. This function returns a new valarray of the same size with elements whose positions are shifted circularly by n elements. If n is negative, right-shift is applied, if n is positive left-shift is applied.
Syntax:
valarray cshift (int n) const;
Parameter:
- n: It represents the number of element to shift.
Returns: This function returns the new valarray after circularly shifting elements.
Below programs illustrate the above function:
Example 1:-
// C++ program to demonstrate // example of cshift() function. #include <bits/stdc++.h> using namespace std;
int main()
{ // Initializing valarray
valarray< int > varr = { 3, 2, 5, 4, 1 };
// Declaring new valarray
valarray< int > varr1;
// using cshift() to shift elements to left
// shifts valarray by 3 position
varr1 = varr.cshift(3);
// Displaying elements of valarray after shifting
cout << "The new valarray after shifting is = " ;
for ( int & x : varr1)
cout << x << " " ;
cout << endl;
return 0;
} |
Output:
The new valarray after shifting is = 4 1 3 2 5
Example 2:-
// C++ program to demonstrate // example of cshift() function. #include <bits/stdc++.h> using namespace std;
int main()
{ // Initializing valarray
valarray< int > varr = { 3, 2, 5, 4, 1 };
// Declaring new valarray
valarray< int > varr1;
// using cshift() to shift elements to right
// shifts valarray by 3 position
varr1 = varr.cshift(-3);
// Displaying elements of valarray after shifting
cout << "The new valarray after shifting is = " ;
for ( int & x : varr1)
cout << x << " " ;
cout << endl;
return 0;
} |
Output:
The new valarray after shifting is = 5 4 1 3 2