#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