Algorithms_in_C++ 1.0.0
Set of algorithms implemented in C++.
Loading...
Searching...
No Matches
array_right_rotation.cpp File Reference

Implementation for the Array right Rotation algorithm. More...

#include <cassert>
#include <iostream>
#include <vector>
Include dependency graph for array_right_rotation.cpp:

Namespaces

namespace  operations_on_datastructures
 for std::vector
 
namespace  tests
 Testcases to check Union of Two Arrays.
 

Functions

void operations_on_datastructures::print (const std::vector< int32_t > &array)
 Prints the values of a vector sequentially, ending with a newline character.
 
std::vector< int32_t > operations_on_datastructures::shift_right (const std::vector< int32_t > &array, size_t shift)
 Shifts the given vector to the right by the shift amount and returns a new vector with the result. The original vector is not mutated.
 
void tests::test1 ()
 A Test to check an simple case.
 
void tests::test2 ()
 A Test to check an empty vector.
 
void tests::test3 ()
 A Test to check an invalid shift value.
 
void tests::test4 ()
 A Test to check a very large input.
 
void tests::test5 ()
 A Test to check a shift of zero.
 
static void test ()
 Function to test the correctness of shift_right() function.
 
int main ()
 main function
 

Detailed Description

Implementation for the Array right Rotation algorithm.

Shifting an array to the right involves moving each element of the array so that it occupies a position of a certain shift value after its current one. This implementation uses a result vector and does not mutate the input.

See also
array_left_rotation.cpp
Author
Alvin

Function Documentation

◆ main()

int main ( void )

main function

Returns
0 on exit
172 {
173 test(); // run self-test implementations
174 return 0;
175}
static void test()
Function to test the correctness of shift_right() function.
Definition array_right_rotation.cpp:160
Here is the call graph for this function:

◆ test()

static void test ( )
static

Function to test the correctness of shift_right() function.

Returns
void
160 {
161 tests::test1();
162 tests::test2();
163 tests::test3();
164 tests::test4();
165 tests::test5();
166}
void test1()
A Test to check an simple case.
Definition array_left_rotation.cpp:75
void test4()
A Test to check a very large input.
Definition array_left_rotation.cpp:120
void test3()
A Test to check an invalid shift value.
Definition array_left_rotation.cpp:105
void test2()
A Test to check an empty vector.
Definition array_left_rotation.cpp:90
void test5()
A Test to check a shift of zero.
Definition array_left_rotation.cpp:143
Here is the call graph for this function: