Happy Codings - Programming Code Examples
Html Css Web Design Sample Codes CPlusPlus Programming Sample Codes JavaScript Programming Sample Codes C Programming Sample Codes CSharp Programming Sample Codes Java Programming Sample Codes Php Programming Sample Codes Visual Basic Programming Sample Codes


C++ Programming Code Examples

Learn C++ Language

Algorithm Library partition() Function in C++ Programming Language

Algorithm Library partition() Function in C++
Partition range in two. Rearranges the elements from the range [first,last), in such a way that all the elements for which pred returns true precede all those for which it returns false. The iterator returned points to the first element of the second group. The relative ordering within each group is not necessarily the same as before the call. See stable_partition for a function with a similar behavior but with stable ordering within each group.
Syntax for partition() Function in C++
#include <algorithm> template <class ForwardIterator, class UnaryPredicate> ForwardIterator partition (ForwardIterator first, ForwardIterator last, UnaryPredicate pred);
first, last
Forward iterators to the initial and final positions of the sequence to partition. The range used is [first,last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last. ForwardIterator shall point to a type for which swap is defined and swaps the value of its arguments.
pred
Unary function that accepts an element in the range as argument, and returns a value convertible to bool. The value returned indicates whether the element is to be placed before (if true, it is placed before all the elements for which it returns false). The function shall not modify its argument. This can either be a function pointer or a function object. Function returns an iterator that points to the first element of the second group of elements (those for which pred returns false), or last if this group is empty.
Complexity
Linear in the distance between first and last: Applies pred to each element, and possibly swaps some of them (if the iterator type is a bidirectional, at most half that many swaps, otherwise at most that many).
Data races
The objects in the range [first,last) are modified.
Exceptions
Throws if either an element swap or an operation on an iterator throws. Note that invalid arguments cause undefined behavior.
/* C++ Algorithm partition() function is used to make partition the elements on the basis of given predicate (condition) mentioned in its arguments. If the container is partitioned then this function returns true, else returns false. */ /* Partition range in two by partition() function code example */ #include <iostream> // std::cout #include <algorithm> // std::partition #include <vector> // std::vector using namespace std; bool IsOdd (int i) { return (i%2)==1; } int main () { vector<int> myvector; // set some values: for (int i=1; i<10; ++i) myvector.push_back(i); // 1 2 3 4 5 6 7 8 9 vector<int>::iterator bound; bound = partition (myvector.begin(), myvector.end(), IsOdd); // print out content: cout << "odd elements:"; for (vector<int>::iterator it=myvector.begin(); it!=bound; ++it) cout << ' ' << *it; cout << '\n'; cout << "even elements:"; for (vector<int>::iterator it=bound; it!=myvector.end(); ++it) cout << ' ' << *it; cout << '\n'; return 0; }







"Shellsort", also known as Shell sort or Shell's method, is an in-place comparison sort. It can be seen as either a 'Generalization of Sorting' by exchange or 'sorting by insertion'. Method


"Self-Organizing" List updates on the basis of 'last searched item'. The sequential searching approach is used. In general search, 80% time only specific 20% of data is accessed. Sample