С++. Сравнения и перестановки
Как добавить подсчет сравнений и перестановок для массива?
#include
using namespace std;
int iRandom( int a, int b ){
return a + ( b - a +1) * rand()/RAND_MAX ;} // целое из [a,b]
double dRandom( int a, int b ){
return a + ( b - a ) * rand() / (double)RAND_MAX;} // вещественное из [a,b]
void main(){
const int n = 13; // количество элементов в массиве
int a[n], i,T; // массив целых чисел
for( i = 0; i < n; i++ ) // цикл инициализации массива
{a = iRandom( 1, 9 ); // целая случайная величина
cout<<"a["<<
{
T=a[j];
a[j]=a[j+1];
a[j+1]=T;
}
}
}
for(i = 0; i < n; ++i)
{
cout<< a<< endl;
}
cout<
{
m=j;
T=a;
a=a[m];
a[m]=T;
}
}
}
for(i = 0; i < n; ++i)
{
cout<< a<< endl;
}
system ("pause");
return;
}
Отсортировать числовой массив методом выбора максимального (минимального) элемента и методом пузырькового всплытия. По окончании сортировки вывести отсортированный массив и количество сделанных сравнений и перестановок элементов.
Сравнить быстродействие алгоритмов, которое определяется числом сравнений и перестановок, для исходного не отсортированного массива и для исходного массива, отсортированного в прямом и обратном порядке.