# valarray shift() in C++

• Difficulty Level : Easy
• Last Updated : 23 Oct, 2018

The shift() function is defined in valarray header file. This function returns a new valarray of the same size with elements whose positions are shifted by n elements. If n is negative, right-shift is applied, if n is positive left-shift is applied.

Syntax:

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 foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.
`valarray shift (int n) const;`

Parameter: This method accepts a mandatory parameter n which represents the number of element to shift.

Returns: This function returns the new valarray after shifting elements.

Below programs illustrate the above function:

Example 1:-

 `// C++ program to demonstrate``// example of shift() function.`` ` `#include ``using` `namespace` `std;`` ` `int` `main()``{``    ``// Initializing valarray``    ``valarray<``int``> varr = { 3, 2, 5, 4, 1 };`` ` `    ``// Declaring new valarray``    ``valarray<``int``> varr1;`` ` `    ``// using shift() to shift elements to left``    ``// shifts valarray by 3 position``    ``varr1 = varr.shift(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 0 0 0
```

Example 2:-

 `// C++ program to demonstrate``// example of shift() function.`` ` `#include ``using` `namespace` `std;`` ` `int` `main()``{``    ``// Initializing valarray``    ``valarray<``int``> varr = { 3, 2, 5, 4, 1 };`` ` `    ``// Declaring new valarray``    ``valarray<``int``> varr1;`` ` `    ``// using shift() to shift elements to right``    ``// shifts valarray by 2 position``    ``varr1 = varr.shift(-2);`` ` `    ``// 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 = 0 0 3 2 5
```

My Personal Notes arrow_drop_up