#include "SortTestHelper.h"
int main(void)
{
void BubbleSort(int* arr ,int n);
void BubbleSortAdvance(int* arr,int n);
int n = 100000;
int *arr = SortTestHelper::generateRandom(n,1,100000);
int *arr1 = SortTestHelper::copyIntArray(arr,n);
int *arr2 = SortTestHelper::copyIntArray(arr,n);
SortTestHelper::testSort("BubbleSort",BubbleSort, arr,n);
SortTestHelper::testSort("BubbleSort",BubbleSort,arr1,n);
SortTestHelper::testSort("BubbleSortAdvance",BubbleSortAdvance,arr2,n);
return 0;
}
void BubbleSort(int* arr,int n)
{
for(int i = 0;i < n;i++)
{
for(int j = 1;j < n - i;j++)
{
if(arr[j - 1] > arr[j])
swap(arr[j - 1],arr[j]);
}
}
}
void BubbleSortAdvance(int* arr,int n)
{
for(int i = 0;i < n;i++)
{
int j = 0;
int temp = arr[j];
for(int j = 0;j < n - i - 1;j++)
{
if(temp > arr[j + 1])
{
// temp = arr[j];
arr[j] = arr[j+1];
}
else
{
arr[j] = temp;
temp = arr[j + 1];
}
arr[j + 1] = temp;
}
}
}BubbleSort : 36.466s
BubbleSort : 36.384s
BubbleSortAdvance : 30.072s