Swap two number is most common function used in program, it is very easy to write the following function:
1. by reference
void swap (int a, int b)
{
int temp = a; a = b; b = temp;
}
2. by value
void swap(int &a, int &b)
{
int temp = a; a = b; b = temp;
}
But when you try to swap two elements of an arrray, function 2 can do this thing, but it can't work when you try to swap two element of a vector:
like following code:
swap(a[0], a[1]);
printArray(a, (
vector<
swap(ivec[0], ivec[1]);
printVector(ivec);
you will find int a[] is success, but vector<int> ivec is failed. what is the problem?
int a[] = {12, 33, 122, 54, 2, 44, 98}; sizeof (a) / sizeof ( int ) - 1)); int > ivec(a, a + 7);