• 笨笨的冒泡排序


    说到排序算法有很多种,我这里也不献丑了,其中最差的估计就是冒泡排序了,但是作为CPU测试程序已经够用:

    /* File Name : BubbleSort.c */
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    
    #define SIZE 100000
    main()
    {
        int i,j,temp;
        int a[SIZE];
        char buf[32];
        time_t tmp=time(NULL);
        for(i=0;i<SIZE;i++)
        {
            a[i]=rand();
        }
        strftime(buf,32,"%Y-%m-%d %H:%M:%S",localtime(&tmp));
        printf("%s BubbleSort Begin !\n",buf);
        for(j=0;j<=SIZE-1;j++)
        {
            for (i=0;i<SIZE-j;i++)
                if (a[i]>a[i+1])
                {
                    temp=a[i];
                    a[i]=a[i+1];
                    a[i+1]=temp;
                }
        }
        tmp=time(NULL);
        strftime(buf,32,"%Y-%m-%d %H:%M:%S",localtime(&tmp));
        printf("%s BubbleSort Done  !\n" , buf);
    }

    SIZE 是定义对多大的随机数数组进行冒泡排序,我这里定义是10万个,通常测试持续几十秒到一分钟。

    输出是如下:

    2010-08-27 16:26:03 BubbleSort Begin !
    2010-08-27 16:26:36 BubbleSort Done  !

    将两个时间相减就是测试时间了。

    用法超简单:

    [root@logserver c]# vim BubbleSort.c 
    # ...
    # 插入代码
    # ...
    [root@logserver c]# gcc ./BubbleSort.c -o BubbleSort -O
    [root@logserver c]# ./BubbleSort   
    2010-08-27 20:02:45 BubbleSort Begin !
    2010-08-27 20:03:19 BubbleSort Done  !
    也可以自己测量时间:
    [root@logserver c]# time ./BubbleSort 
    2010-08-27 16:26:03 BubbleSort Begin !
    2010-08-27 16:26:36 BubbleSort Done  !
    
    real    0m33.831s
    user    0m33.824s
    sys     0m0.000s
  • 相关阅读:
    jQuery中deferred对象的使用(一)
    css中calc()的使用
    网络协议学习笔记1
    iOS: 类目里动态关联对象
    [转载] 2016 app 上线流程
    iOS:集成环信3.0循环掉坑。(学习笔记一)
    iOS 实现条件选择框
    iOS : 定义项目中接口文档
    iOS:消除项目中的警告⚠️
    iOS 一个简洁的条件筛选界面
  • 原文地址:https://www.cnblogs.com/killkill/p/1810378.html
Copyright © 2020-2023  润新知