Skip to content
Related Articles

Related Articles

Improve Article

cshift() function for valarray in C++

  • Last Updated : 23 Oct, 2018
Geek Week

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
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for the language and STL. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :