• 修改一下测试用例的生成方式 算法学习笔记3


    之前指定的方式 是硬编码生成的

    为了方便使用

    我们可以在弄一个 新的.h文件

    1. #ifndef SORT_HELPER_H
    2. #define SORT_HELPER_H
    3. //解决ide.h文件的多重引用的问题
    4. #include
    5. #include
    6. #include
    7. #include
    8. using namespace std;
    9. namespace SortTestHelper{
    10. //生成n个元素的随机数组,每个元素的随机范围为【rangeL, rangeR】
    11. int* generateRandomArr(int n, int rangeL, int rangeR){
    12. assert( rangeL <= rangeR );
    13. int *arr = new int[n];
    14. //设置随机种子
    15. srand(time(NULL));
    16. for(int i = 0; i < n ;i ++)
    17. arr[i] = rand()%(rangeR - rangeL + 1) + rangeL;
    18. return arr;
    19. }
    20. template<typename T >
    21. void printarr(T arr[], int n){
    22. for( int i = 0 ; i < n ; i++)
    23. cout<" ";
    24. cout<
    25. return;
    26. }
    27. }
    28. #endif //SORT_HELPER_H

    都是细节 不用多说 快上车

    1. #include
    2. #include
    3. #include "Student.h"
    4. #include "sorttesthelper.h"
    5. using namespace std;
    6. template<typename T >
    7. void selectionSort( T arr[], int n){
    8. for(int i = 0 ; i < n ; i++){
    9. //寻找【i,n之间的最小值】
    10. int minIndex = i;
    11. for( int j = i + 1 ; j < n ; j++)
    12. if(arr[j] < arr[minIndex] )
    13. minIndex = j;
    14. swap( arr[i] , arr[minIndex]);
    15. }
    16. }
    17. int main()
    18. {
    19. int a[5] = {5,62,3,58,44};
    20. selectionSort( a, 5 );
    21. for( int i = 0 ; i < 5 ; i++)
    22. cout<" ";
    23. cout<
    24. float b[4] = {4.4,2.3,5.63};
    25. selectionSort( b , 3);
    26. for( int i = 0 ; i < 3 ; i++)
    27. cout<" ";
    28. cout<
    29. string c[2] = {"z","b"};
    30. selectionSort( c , 2);
    31. for( int i = 0 ; i < 2 ; i++)
    32. cout<" ";
    33. cout<
    34. Student d[3] = {{"D",90} , {"C",89} , { "B", 114}};
    35. selectionSort( d , 3);
    36. for( int i = 0 ; i < 3 ; i++)
    37. cout<
    38. cout<
    39. int n = 1000;
    40. int *arr = SortTestHelper :: generateRandomArr(n, 0, n) ;
    41. selectionSort( arr, n );
    42. SortTestHelper :: printarr(arr, n);
    43. delete[] arr;
    44. return 0;
    45. }

    肯定可以跑 不用谢

  • 相关阅读:
    【Leetcode】202. 两数之和
    达梦数据库定时逻辑备份
    API(九)基于协程的并发编程SDK
    音视频PTS、DTS
    Docker部署ElasticSearch数据库+analysis-ik分词器插件
    深度学习之wandb的基本使用
    Vue前后端项目开发指南(一)【前端项目的创建】
    spring5(一):概述
    mybatis-plus-join
    接口测试——接口协议抓包分析与mock_L2
  • 原文地址:https://blog.csdn.net/qq_68308828/article/details/133785028