2-3 随机生成算法测试用例-Selection-Sort-Generate-Test-Cases

来源:互联网 发布:妄想代理人知乎 编辑:程序博客网 时间:2024/06/07 14:37
//// Created by liuyubobobo on 7/12/16.//#ifndef INC_03_SELECTION_SORT_GENERATE_TEST_CASES_SORTTESTHELPER_H#define INC_03_SELECTION_SORT_GENERATE_TEST_CASES_SORTTESTHELPER_H#include <iostream>#include <ctime>#include <cassert>using namespace std;namespace SortTestHelper {    // 生成有n个元素的随机数组,每个元素的随机范围为[rangeL, rangeR]    int *generateRandomArray(int n, int rangeL, int rangeR) {        assert(rangeL <= rangeR);        int *arr = new int[n];        srand(time(NULL));        for (int i = 0; i < n; i++)            arr[i] = rand() % (rangeR - rangeL + 1) + rangeL;        return arr;    }    template<typename T>    void printArray(T arr[], int n) {        for (int i = 0; i < n; i++)            cout << arr[i] << " ";        cout << endl;        return;    }};#endif //INC_03_SELECTION_SORT_GENERATE_TEST_CASES_SORTTESTHELPER_H
#include <iostream>#include "SortTestHelper.h"using namespace std;template<typename T>void selectionSort(T arr[], int n){    for(int i = 0 ; i < n ; i ++){        int minIndex = i;        for( int j = i + 1 ; j < n ; j ++ )            if( arr[j] < arr[minIndex] )                minIndex = j;        swap( arr[i] , arr[minIndex] );    }}int main() {    // 测试排序算法辅助函数    int N = 10000;    int *arr = SortTestHelper::generateRandomArray(N,0,100000);    selectionSort(arr,N);    SortTestHelper::printArray(arr,N);    delete[] arr;    return 0;}
0 0
原创粉丝点击