• memset初始化值的效率秒杀for循环


    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在一亿数据的赋值下,memset使用了1ms,而for循环使用了136ms</span>



    贴上代码:


    #include <string.h>
    #include <iostream>
    #include <string>
    #include <iostream>
    #define MAXSIZE 10000
    using namespace std;
    #include <time.h>
    #include <sys/timeb.h>
    int get_time(string r)
    {
        struct timeb rawtime;
        ftime(&rawtime);
        static int ms = rawtime.millitm;
        static unsigned long s = rawtime.time;
        int out_ms = rawtime.millitm - ms;
        unsigned long out_s = rawtime.time - s;
        if (out_ms < 0)
        {
            out_ms += 1000;
            out_s -= 1;
        }
        ms = rawtime.millitm;
        s = rawtime.time;
        int total = 1000*out_s+out_ms;
        cout<<r<<": "<<total<<"ms"<<endl;
        return total;
    }
    
    
    int main()
    {
    int (*arr)[MAXSIZE]=new int[MAXSIZE][MAXSIZE]; //MAXSIZE 10000
    get_time("memset begin");
    memset(arr,'9',sizeof(arr));
    get_time("memset end");
    get_time("for begin");
    for(int i=0;i<MAXSIZE;++i)
    for(int j=0;j<MAXSIZE;++j)arr[i][j]=99;
    get_time("for end");
    delete[] arr;
    return 0;
    }

  • 相关阅读:
    TOYS POJ
    口罩发放
    Qin Shi Huang's National Road System HDU
    次小生成树
    ACM Contest and Blackout UVA
    Strongly connected HDU
    tarjan
    Network HDU
    【洛谷 1351】联合权值
    【洛谷 3884】二叉树问题
  • 原文地址:https://www.cnblogs.com/freeopen/p/5482946.html
Copyright © 2020-2023  润新知