美文网首页
3.随机生成算法测试用例

3.随机生成算法测试用例

作者: 村上果树 | 来源:发表于2018-02-24 23:36 被阅读0次

    随机生成一个大小为100的数组,每个元素的范围是[0,200],然后对其进行选择排序.

    main.cpp:
    #include<iostream>
    #include<algorithm>
    #include"temp.h"
    using namespace std;
    
    template<typename T>
    void selectionSort(T arr[], int n){
        for(int i = 0; i < n-1; 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 = 100;
        int *arr = SortTestHelper::generateRandomArray(N,0,200);
        selectionSort(arr, N);
        SortTestHelper::printArray(arr, N);
        delete[]arr;
        return 0;
    }
    
    test.h:
    #ifndef _TEMP_H
    #define _TEMP_H
    #include <iostream>
    #include <ctime>
    #include <cassert>
    #include <algorithm>
    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
    

    相关文章

      网友评论

          本文标题:3.随机生成算法测试用例

          本文链接:https://www.haomeiwen.com/subject/vnacxftx.html