home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-07 | 988 b | 42 lines | [TEXT/CWIE] |
- #include <iostream>
- #include <cstddef>
-
- using namespace std;
-
- int ANSICqsortCompare(const void *el1, const void *el2);
- int ANSICqsortCompare(const void *el1, const void *el2)
- {
- return (int)(*(long *)el1 - *(long *)el2);
- }
-
- int main()
- {
- cout << "STL sort sample!\n\n"; // setting up arrays
- const size_t aSize = 10240;
- long *qArray = new long[aSize];
- long *stlArray = new long[aSize];
- assert(qArray && stlArray);
-
- srand(time(NULL)); // randomize
- for (int i = 0; i < aSize; ++i)
- {
- qArray[i] = stlArray[i] = rand();
- }
-
- long qsortTickStart = clock(); // ANSI sort
- qsort(qArray, aSize, sizeof(long), ANSICqsortCompare);
- long qTix = clock() - qsortTickStart;
-
- long stlTickStart = clock(); // STL sort
- sort(stlArray, &stlArray[aSize]);
- long stlTix = clock() - stlTickStart;
-
- for (int i = 0; i < aSize; ++i) // verify
- {
- assert(qArray[i] == stlArray[i]);
- }
- cout << "qsort() " << qTix << "\nSTL sort " << stlTix << "\n";
- delete [] qArray; delete [] stlArray;
- }
-
-