Tag Archives: vector

C++ || How To Split & Batch An Array/Vector/Container Into Smaller Sub-Lists Of N Size Using C++

The following is a module with functions which demonstrates how to split/batch an array/vector/container into smaller sublists of n size using C++.

The function demonstrated on this page is a template, so it should work on containers of any type. It uses a simple for loop to group items into batches.


1. Partition – Integer Array

The example below demonstrates the use of ‘Utils::partition‘ to group an integer array into batches.


2. Partition – String Vector

The example below demonstrates the use of ‘Utils::partition‘ to group a string vector into batches.


3. Partition – Custom Object Vector

The example below demonstrates the use of ‘Utils::partition‘ to group a custom object vector into batches.


4. Utils Namespace

The following is the Utils Namespace. Include this in your project to start using!


5. More Examples

Below are more examples demonstrating the use of the ‘Utils‘ Namespace. Don’t forget to include the module when running the examples!

QUICK NOTES:
The highlighted lines are sections of interest to look out for.

The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.

C++ || How To Shuffle & Randomize An Array/Vector/Container Using C++

The following is a module with functions which demonstrates how to randomize and shuffle the contents of an array/vector/container using C++.

The following template function is a wrapper for the std::shuffle function.


1. Shuffle – Integer Array

The example below demonstrates the use of ‘Utils::shuffle‘ to randomize an integer array.


2. Shuffle – String Vector

The example below demonstrates the use of ‘Utils::shuffle‘ to randomize a string vector.


3. Shuffle – Custom Object Vector

The example below demonstrates the use of ‘Utils::shuffle‘ to randomize a custom object vector.


4. Utils Namespace

The following is the Utils Namespace. Include this in your project to start using!


5. More Examples

Below are more examples demonstrating the use of the ‘Utils‘ Namespace. Don’t forget to include the module when running the examples!

QUICK NOTES:
The highlighted lines are sections of interest to look out for.

The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.

C++ || How To Get Distinct & Unique Values In An Array/Vector/Container & Remove Duplicates Using C++

The following is a module with functions which demonstrates how to get distinct and unique values in an array/vector/container and remove duplicates using C++.

The function demonstrated on this page is a template, so it should work on containers of any type.

The function also does not require a sort, it preserves the original order of the vector, uses the equality operator (operator==), and allows for a custom predicate comparison function to determine whether the arguments are equal.


1. Distinct – String Array

The example below demonstrates the use of ‘Utils::distinct‘ to get the distinct elements from an array.


2. Distinct – Object Vector

The example below demonstrates the use of ‘Utils::distinct‘ to get the distinct elements from an object vector.

The object in this example overloads the equality operator to determine whether arguments are equal.


3. Distinct – Object Vector Predicate

The example below demonstrates the use of ‘Utils::distinct‘ to get the distinct elements from an object vector.

In this example, a predicate is used to determine whether arguments are equal.


4. Utils Namespace

The following is the Utils Namespace. Include this in your project to start using!


5. More Examples

Below are more examples demonstrating the use of the ‘Utils‘ Namespace. Don’t forget to include the module when running the examples!

QUICK NOTES:
The highlighted lines are sections of interest to look out for.

The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.