精华内容
下载资源
问答
  • C/C++学习:TOP4问题

    2015-02-23 11:51:18
    TOP4问题:找出若干个数字中最大的前四个数。例子:10项完整选择排序,1千万项四趟选择排序,1千万项归并排序

    问题

    两周实训,扩展题:TOP4问题

    问题描述:找出若干个数字中最大的前四个数

    解题

    该问题视问题规模不同,选用的算法也不同。
    100个内使用冒泡或选择排序,进行完整的排序,问题不大。
    而成千上万个数字时,使用冒泡和选择进行完整排序就需要花费很多的时间。
    不过,选择排序有个好处就是,可以直接挑出数组中最大的那个出来。只要遍历四次数组就能把四个最大的数字挑出来。这能在瞬间内完成。
    除此之外,使用归并排序能轻松对千万级数据进行排序,实测中也就一瞬间的事情。
    下面分别展示:10项完整选择排序,1千万项四趟选择排序,1千万项归并排序

    完整代码:

    一、10项完整选择排序

    /*
    Module Name:TOP4(10项选择排序)
    Module Date:20141223
    Module Auth:CLyoko 
    Description:从键盘输入10个无序的数,找出最大
    的前四个数 
    
    Other:
        Revision History:
        Date        Rel Ver.    Notes
        20141223    1.0         创建程序
    
    选择排序版,复杂度O(N^2) 
    */
    
    #include<iostream>
    using namespace std;
    int main()
    {
        int i,j;
        float data[11]={0},t,max=0; 
        cout<<"    TOP4排名\n";
        cout<<"请输入10个数字,用空格键隔开:" ;
        for(i=1;i<=10;i++)
            cin>>data[i];
        //有限量选择排序
        //i哨兵,j当前处理项 
        for(j=1;j<=4;j++)
        {
            for(i=j+1;i<=10;i++)
            {
                if(data[i]>data[j])
                {
                    t=data[i];
                    data[i]=data[j];
                    data[j]=t;
                }
            }
        }
        cout<<"TOP4:";
        for(i=1;i<=4;i++)
        {
            cout<<data[i]<<"  ";
        }
        cout<<endl;
        system("pause");
        return 0;
    }

    二、1千万项四趟选择排序

    /*
    Module Name:TOP4(千万项选择排序)
    Module Date:20141223
    Module Auth:CLyoko
    Description:从键盘输入10个无序的数,找出最大
    的前四个数 
    
    Other:
        Revision History:
        Date        Rel Ver.    Notes
        20141223    1.0         创建程序
    
    选择排序版,复杂度O(N^2) 
    */
    
    #include<iostream>
    #include<stdlib.h>
    #include<time.h>
    
    using namespace std;
    
    int main()
    {
        clock_t start,stop;
        const long N=10000000;
        long i,j;
        long *data=new long[N];
        long t,max=0; 
        cout<<"    TOP4千万选择排序\n";
        cout<<"初始化……\n";
        for(i=1;i<N;i++)
            data[i]=i;
        cout<<"开始查找……\n";
        start=clock();
        //有限量选择排序
        //i哨兵,j当前处理项 
        for(j=1;j<=4;j++)
        {
            for(i=j+1;i<N;i++)
            {
                if(data[i]>data[j])
                {
                    t=data[i];
                    data[i]=data[j];
                    data[j]=t;
                }
            }
        }
        stop=clock();
        cout<<"TOP4:";
        for(i=1;i<=4;i++)
        {
            cout<<data[i]<<"  ";
        }
        cout<<endl<<"耗时:"<<(stop-start)/CLK_TCK<<"秒\n";
        system("pause");
        return 0;
    }

    三、1千万项归并排序

    /*
    Module Name:TOP4(归并排序)
    Module Date:20141223
    Module Auth:CLyoko 
    Description:生成一千万个数字,找出最大的前四个数 
    
    Other:
        Revision History:
        Date        Rel Ver.    Notes
        20141223    1.0         创建程序
    
    归并排序版,复杂度O(NlogN) 
    */
    
    #include<stdlib.h>
    #include<iostream>
    #include<time.h>
    
    using namespace std;
    
    void Merge(long source[],long temp[],long startIndex,long midIndex,long endIndex)
    {
        long i,j,k;
        //左右子列比较取值到temp中 
        for(i=midIndex+1,j=startIndex;startIndex<=midIndex&&i<=endIndex;j++)
            if(source[startIndex]>=source[i])
                temp[j]=source[startIndex++];
            else
                temp[j]=source[i++];
        //左子树完毕的情况,重新指定起点并比较取值 
        if(startIndex<=midIndex)
            for(k=0;k<=midIndex-startIndex;k++)
                temp[j+k]=source[startIndex+k];
        if(i<=endIndex)
            for(k=0;k<=endIndex-i;k++)
                temp[j+k]=source[i+k];
        for(i=startIndex;i<=endIndex;i++)
            source[i]=temp[i];
    }
    
    void MergeSort(long source[],long temp[],long startIndex,long endIndex)
    {
        long midIndex;
        if(startIndex<endIndex)
        {
            midIndex=(startIndex+endIndex)/2;//取中点 
            MergeSort(source,temp,startIndex,midIndex);//处理左支 
            MergeSort(source,temp,midIndex+1,endIndex);//处理右支
            Merge(source,temp,startIndex,midIndex,endIndex);//归并 
        }
        else 
            return;
    }
    
    int main(int argc,char * argv[])
    {
        const long N=10000000;
        clock_t start,stop;
        long *data = new long [N];
        long *temp = new long [N];
        long i;
        cout<<"    千万级TOP4"<<endl;
        cout<<"初始化……\n";
        for(i=0;i<N;i++)
        {
            data[i]=i;
        }
        cout<<"开始查找……\n";
        start=clock();
        MergeSort(data,temp,0,N-1);
        stop=clock();
        for(i=0;i<4;i++)
            cout<<data[i]<<"  ";
        cout<<endl<<"耗时:"<<(stop-start)/CLK_TCK<<"秒\n";
        system("pause");
        return 0;
    }
    

    转载请保留作者信息。
    作者: CLyoko
    文章网址: http://blog.csdn.net/clyoko/article/details/43915895

    展开全文
  • TIPTOP 4GL 弹窗

    2018-09-11 09:41:49
    #180608-A begin PROMPT ‘请输入供应商单号’ CLIPPED FOR g_rva01 #ATTRIBUTE(INVISIBLE) ON ACTION about CALL cl_about() ON ACTION controlg CALL cl_cmdask() ON ACTION help ...

    #180608-A begin
    PROMPT ‘请输入供应商单号’ CLIPPED FOR g_rva01 #ATTRIBUTE(INVISIBLE)
    ON ACTION about
    CALL cl_about()
    ON ACTION controlg
    CALL cl_cmdask()
    ON ACTION help
    CALL cl_show_help()
    ON IDLE g_idle_seconds
    CALL cl_on_idle()
    END PROMPT
    LET g_rva01=g_rva01 CLIPPED
    IF g_rva01=” THEN
    MESSAGE “供应商单号不允许为空!”
    RETURN
    END IF
    display ‘你输入的供应商单号为:’,g_rva01
    #180608-A end

    展开全文
  • Top 4个替代phpMyAdmin的工具

    千次阅读 2018-12-14 10:37:00
    4. SQL Buddy SQL Buddy 是用于MySQL管理的一个很棒的工具,phpMyAdmin的一个替代品。它超级容易建立,还有一个漂亮的界面。  下载SQL Buddy 转载于:...

    phpMyAdmin是管理MySQL数据库最流行的Web界面。但也有许多其他的工具,我们可代替phpMyAdmin的使用。通过本文,我想向你提供的phpMyAdmin的替代品清单。

    1. Adminer

    Adminer是我的第一选择使用的,而不是phpMyAdmin。 Adminer是单一的PHP脚本,它可以在文档根目录轻松上传,没有任何安装或配置,访问就可用。 Adminer还可以用来管理SQL服务器,Oracle,PostgreSQL等等。 下载Adminer

    2. MyWebSQL

    MyWebSQL是一个最终的台式机替代品,他在Web上管理你的MySQL数据库。它的界面像自己喜欢的桌面应用程序,你不需要不断切换网页,以简单的做好事情。只需登录到您的数据库和管理数据库,如果你是在您的桌面上工作! 下载MyWebSQL

    3. phpMiniAdmin

    phpMiniAdmin是快速和容易管理MySQL数据库,是phpMyAdmin轻量级的选择。 phpminiadmin是写在只有大小为10KB+,它可以轻松上传到Web服务器的文档根目录,并在Web浏览器访问PHP。 下载phpMiniAdmin

    4. SQL Buddy

    SQL Buddy是用于MySQL管理的一个很棒的工具,phpMyAdmin的一个替代品。它超级容易建立,还有一个漂亮的界面。 下载SQL Buddy

    转载于:https://my.oschina.net/u/3181526/blog/2988388

    展开全文
  • TIPTOP 4GL 增加新按钮

    2018-09-10 10:41:42
    1、menu()函数内添加 WHEN “soonlist” # 按钮名称 soonlist call i301_getsoon() 2、bp()段添加 ON ACTION soonlist LET g_action_choice=”soonlist” EXIT DISPLAY 3、新增 i30...

    1、menu()函数内添加
    WHEN “soonlist” # 按钮名称 soonlist
    call i301_getsoon()
    2、bp()段添加
    ON ACTION soonlist
    LET g_action_choice=”soonlist”
    EXIT DISPLAY
    3、新增 i301_getsoon()函数,所需数据逻辑在这里书写 ,也可直接把逻辑写在 WHEN “soonlist” 下面

    展开全文
  • TIPTOP 4GL 命令及系统函数

    千次阅读 2018-08-06 09:03:14
    命令: 1、r.d2+ cimt170 调试代码 2、vi ds.sch 可直接编辑 (vi 文本编辑器) w 保存 :q! 退出 3、r.s2 ds 生成ds.sch ...5、udm7 进入帐套选择(4和5 需要把易拓程序打开状态) 系统函数: ...
  • 挖个坑,第一次参加NLP比赛,决赛后填坑。。
  • cp /u1/topprod/topcust/cxm/4gl/cxmi132.4gl /u1/topprod/topcust/cxm/4gl/cxmi189.4gl cp /u1/topprod/topcust/cxm/4fd/cxmi132.4fd /u1/topprod/topcust/cxm/4fd/cxmi189.4fd (2)cd cxm/4gl ...
  • 淘宝开放平台.NET版SDK top4net

    千次阅读 2013-01-11 14:19:37
    设计原则  1. 容易维护扩展(不需要修改主类就可以添加新的... 4. 以异常的方式来管理错误的响应  5. 使用泛型来做强类型编程  6. 多协议扩展支持(REST, RPC, SOAP, etc) 调用方式:  ITopClient cl
  • TIPTOP 4GL——自定义按钮前加图标

    千次阅读 2012-09-13 11:40:57
    对于TIPTOP系统,标准的按钮都有相对应的小图标,如下图: 但是对于自己添加的按钮,很少有小图标的; 那下面我就分析一下怎么让自己加的按钮也有小图标:看效果(右边按钮): 【当然我这个是直接用的系统里面...
  • http://www.getacoder.comhttp://www.scriptlance.comhttp://www.getafreelancer.comhttp://www.rentacoder.com
  • 上代码: DEFINE cmd STRING DEFINE ok BOOLEAN #检查客户端某个文件是否存在 LET filename ='c:/test.txt' LET cmd = SFMT('cmd /C "if exist %1 (exit 0) else (exit 1)"',filename) CALL ui.Interface....
  • 所谓的EDA,即为数据探索,这里主要指的是赛前的数据探索(第二种是对模型的分析,包括LightGBM/XgBoost的feature importance,LR,SVM的coeff等)。那木赛前数据的EDA要做那些呢,第一个是对数据集的宏观分析,包括...
  • 淘宝开发实例asp.net使用Top4Net.dll

    千次阅读 2010-08-01 10:21:00
    aspx:      获得淘宝授权:   ...> ... <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>  ...Top4Net.dll  
  • max_ctr_complexity=4, random_seed=0, od_type='Iter', od_wait=25, verbose=50, depth=4 ) catboost_model.fit( X_train, Y_train, cat_features=cat_features, eval_set=(X_validation, Y_validation) ...
  • 上篇说到了数据预处理和EDA,数据预处理是为了提高数据的可用性,而EDA则可以挖掘数据的规律,便于构造特征。在一个机器学习数据竞赛任务中,有句话叫做“特征决定任务能达到的高度,而模型和算法包括调参只是逼近这...
  • 笔者将分享一次kaggle数据竞赛的实例,包括了数据竞赛的基本套路流程:赛题业务背景分析,数据探索(EDA),特征工程,单模预测(特征重要性分析)以及stacking模型融合。 本次赛题的链接:Predict Future Sales,...
  • PySpark TopK 问题(分组TopK) 记录几种利用PySpark计算TopK的方法,准备使用两个例子,其中第一个例子是计算不同院系,不同班,不同学科的成绩前K名的分数。第二个例子以文本数据为例,计算在不同文本类别下出现...4...
  • TOP4 XML外部实体(XXE) XML外部实体攻击是对解析XML输入的应用程序的一种攻击。当弱配置的XML解析器处理包含对外部实体的引用的XML输入时,就会发生此攻击。 默认情况下,大多数XML解析器容易受到XXE攻击。因此,...
  • TOP50

    2007-12-29 11:08:00
    TOP1 人生的最大遗憾莫过于错误地坚持了不该坚持的,轻易地放弃了不该放弃的…… TOP2 新式morning call——生前何必久睡,死后自会长眠 TOP3 使你疲劳的不是远方的高山,而且是你鞋里面的一粒砂子 TOP4 有时在...
  • computer networking top down approach 4th solution
  • BS4_爬取豆瓣电影Top250

    2019-02-20 10:48:01
    爬取豆瓣电影Top250 源代码: import re import openpyxl import requests from bs4 import BeautifulSoup def get_content(url): try: user_agent = 'Mozilla/5.0 (X11; Linux x86_64; rv:45.0) ...
  • C++小顶堆求Topk

    千次阅读 2017-10-15 20:17:37
    C++小顶堆求Topk求数组中的Topk数字,比如【1、4、6、7、2、9、8、3、5、0】的Top4是【6、7、8、9】。 用小顶堆来实现, 首先用前4个元素新建一个大小为4的小顶堆,堆顶始终保存堆中的最小值。数组中的剩余数字是...
  • TIPTOP 复制画面档4fd

    2018-08-07 09:45:00
    1、cp 2、更改标题 amri701 –&gt; cxmi189 更改表字段:abc_file 相关 →xxy_file 相关 3、
  • TIPTOP——4GL颜色相关设置

    千次阅读 2012-09-18 14:05:21
    使用测试系统TIPTOP GP3.0 颜色的设置分为单身颜色和单头颜色的设置: 一、单身颜色: 1.首先MAIN函数之前定义一个数组 例如: DEFINE ga_color DYNAMIC ARRAY OF RECORD c01 STRING,c02 STRING, c03 ...
  • 使用python采用requests+bs4爬取豆瓣top250图书信息,参考代码中都有注释就不详细说了。 链接:https://book.douban.com/top250?start=0 可以输出的内容:(对应上图举例) 图书封面的链接:...
  • CSS margin 属性top、margin-top的区别padding指内边距,是盒子里面内容到边框的距离,不允许使用负值。padding:10px 5px; 上内边距和下内边距是10px,右内边距和左内边距是5px。padding:1px 2px 3px 4px; (上右下左...
  • TOPGP5.3:导入jar包并在4GL中引用

    千次阅读 2017-09-04 20:45:23
    TOPGP 5.3在导入jar包并在4GL中引用
  • top命令

    2014-03-31 19:12:09
    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。...4.以累积模式显示程序信息 # top –S 5.设置信息更新次数 # top -n 2/
  • 1、父元素设置overflow:hidden 2、父子元素间增加一个inline元素 3、父元素设置padding-top 4、父元素设置border-top

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,484
精华内容 24,993
关键字:

top4