Не могу выбрать последний элемент массива в c++
Такое дело, что в функции quicksort переменная id_last_element не принимает значение 9, хотя при минусе 2, она принимает значение 8.
#include <iostream>
using namespace std;
void quicksort(int* array, int size_of_array) {
int id_last_element = size_of_array - 1;
int last = array[id_last_element];
cout << size_of_array<< endl;
cout << "LAST = " << last << endl;
for (int i = 0; i < size_of_array;)
{
if (array[i] > array[last])
{
cout << array[i] << " change on " << array[last] << endl;
swap(array[i], array[last]);
cout << "Array: ";
for (int k = 0; k < size_of_array; k++)
{
cout << array[k] << " ";
}
cout << endl;
i++;
}
else
{
cout << array[i] << " doesn't change on " << array[last] << endl;
for (int k = 0; k < size_of_array; k++)
{
cout << array[k] << " ";
}
cout << endl;
last--;
}
}
}
int main()
{
int array_1[10] = {5,3,4,2,1,9,6,7,8,10};
int array_size = end(array_1) - begin(array_1);
cout << "Unsorted array:";
for (int i = 0; i < array_size; i++)
{
cout << array_1[i] << " ";
}
cout << endl;
quicksort(array_1,array_size);
cout << "result is:" << endl;
for (int j = 0; j < array_size; j++)
{
cout << array_1[j] << endl;
}
return 0;
}