如果可能的话,使用 PC-Lint、LogiScope 等工具进行代码审查。

  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <stdlib.h>
  5. #define ARRAY_SIZE 15
  6. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  7.  
  8. using namespace std;
  9.  
  10. //定义整型数的vector容器类
  11. typedef vector<int > IntVector ;
  12.  
  13. //显示数组
  14. void put_array(int x[],int size) {
  15. for(int i=;i<size;i++)
  16. cout<<x[i]<<" ";
  17. cout<<endl;
  18. }
  19.  
  20. //显示vector容器中的元素
  21. void put_vector(IntVector v,char *name)
  22. {
  23. IntVector::iterator theIterator;
  24. cout<<name<<": ";
  25. for (theIterator=v.begin();theIterator!=v.end();++theIterator){
  26. cout<<(*theIterator)<<" ";
  27. }
  28. cout<<endl;
  29. }
  30.  
  31. //产生指定范围的整数随机数
  32. int getrand(int min,int max) {
  33. int m;
  34. m=(max-min);
  35. m=min+double(rand())/RAND_MAX*m ;
  36. return m;
  37. }
  38.  
  39. //在main()函数中测试sort()和partial_sort()算法
  40. int main(int argc, char** argv) {
  41.  
  42. int i;
  43. //--------------------------------------------
  44. // sort()和partial_sort()算法对普通数组处理
  45. //---------------------------------------------
  46. //sort()算法处理数组,并显示
  47. int x[ARRAY_SIZE];
  48. for (i=;i<ARRAY_SIZE;i++) {
  49. x[i]=getrand(,);
  50. }
  51. cout<<"x[]:";
  52. put_array(x,ARRAY_SIZE);
  53. sort(x,x+ARRAY_SIZE);
  54. cout<<"sort(x,x+ARRAY_SIZE):"<<endl;
  55. put_array(x,ARRAY_SIZE);
  56.  
  57. //partial_sort()算法对于数组进行处理
  58. int y[ARRAY_SIZE];
  59. for (i=;i<ARRAY_SIZE;i++) {
  60. y[i]=getrand(,) ;
  61. }
  62. cout<<"y[]:";
  63. put_array(y,ARRAY_SIZE);
  64. partial_sort(y+,y+,y+ARRAY_SIZE);
  65. cout<<"partial_sort(y+2,y+7,y+ARRAY_SIZE):"<<endl;
  66. put_array(y,ARRAY_SIZE);
  67. //--------------------------------------------
  68. // sort()和partial_sort()算法对vector容器的处理
  69. //---------------------------------------------
  70. IntVector Numbers1,Numbers2;
  71. for(i=;i<;i++) {
  72. Numbers1.push_back(getrand(,));
  73. Numbers2.push_back(getrand(,));
  74. }
  75. put_vector(Numbers1,"Numbers1");
  76. put_vector(Numbers2,"Numbers2");
  77.  
  78. //sort()算法处理并显示
  79. sort(Numbers1.begin(),Numbers1.end());
  80. cout<<"After call sort():"<<endl;
  81. put_vector(Numbers1,"Numbers1");
  82.  
  83. //partial_sort()算法处理并显示
  84. partial_sort(Numbers2.begin()+,Numbers2.begin()+,Numbers2.end());
  85. cout<<"After call partial_sort():"<<endl;
  86. put_vector(Numbers2,"Numbers2");
  87.  
  88. return ;
  89. }

如果可能的话,使用 PC-Lint、LogiScope 等工具进行代码审查的更多相关文章

  1. PC lint -sem 用法示例

    -sem(std::auto_ptr::auto_ptr,custodial(1)) // the auto_ptr class type // handles custody automagical ...

  2. Android内存优化(五) Lint代码扫描工具

     1.使用 工具栏 -> Analyze -> Inspect Code… 点击 Inspect Code 后会弹出检查范围的对话框: 默认是检查整个项目,我们可以点击 Custom sc ...

  3. 只有PC端的报表工具使用太不方便了!有没有好用的手机报表app?

    马上到年底了,签订的销售合同需尽快回款,销售经理此时正在下午出差的出租车上,通过手中的手机他查看了一下今天的回款报表 项目已经进行到了关键期,项目经理正在奔赴项目城市的高铁列车上,项目今天的进度报表已 ...

  4. 高质量C++/C编程指南(林锐)

    推荐-高质量C++/C编程指南(林锐) 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐   2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐   20 ...

  5. 高质量C++[转]

    高质量C++/C编程指南 文件状态 [  ] 草稿文件 [√] 正式文件 [  ] 更改正式文件 文件标识: 当前版本: 1.0 作    者: 林锐 博士 完成日期: 2001年7月24日 版 本  ...

  6. 学习笔记之高质量C++/C编程指南

    高质量C++/C编程指南 http://man.lupaworld.com/content/develop/c&c++/c/c.htm 高质量C++/C编程指南(附录 C :C++/C 试题的 ...

  7. 高质量C++/C编程指南

    http://man.chinaunix.net/develop/c&c++/c/c.htm#_Toc520634042 高质量C++/C编程指南 文件状态 [  ] 草稿文件 [√] 正式文 ...

  8. C++编程指南续(10-11)

    十.类的继承与组合 对象(Object)是类(Class)的一个实例(Instance).如果将对象比作房子,那么类就是房子的设计图纸.所以面向对象设计的重点是类的设计,而不是对象的设计. 对于C++ ...

  9. debug makefile 及 lint 软件质量软件

    make -d should give you more than enough information to debug your makefile. Be warned: it will take ...

随机推荐

  1. 【转】使用python编写网络通信程序

    文章主体现部分来自:http://openexperience.iteye.com/blog/145701 1. 背景知识 如果使用TCP协议来传递数据,客户端和服务器端需要分别经过以下步骤: ser ...

  2. java.sql.SQLException: Data truncation: Truncated incorrect DOUBLE value

    mysql 报这个异常:java.sql.SQLException: Data truncation: Truncated incorrect DOUBLE value update 表名 set c ...

  3. nginx 设置错误的自己定义404页面跳转到500

    5年前写的站, 当时是在apache下写的error page, 换了nginx后, 404页面直接跳到了500 server内部错误. 仅仅须要在配置 try_files 的时候指定一下就能够了 我 ...

  4. 算法笔记_145:拓扑排序的应用(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 给出一些球,从1~N编号,他们的重量都不相同,也用1~N标记加以区分(这里真心恶毒啊,估计很多WA都是因为这里),然后给出一些约束条件,< a ...

  5. How to make a custom WIDGET in OpenERP

    转自:http://sahotaparamjitsingh.blogspot.com/2012/04/how-to-make-custom-widget-in-openerp.html   Hello ...

  6. Java中try catch finally的执行顺序问题

    finally 语句块是在 try 或者 catch 中的 return 语句之前执行的.更加一般的说法是,finally 语句块应该是在控制转移语句之前执行,控制转移语句除了 return 外,还有 ...

  7. session 防止表单重复提交

    防止表单重复提交应该现在前台做一遍,再在后台做一遍.这样双重安全而且减轻服务器负担. 代码: package flying.form; import java.io.IOException; impo ...

  8. C# 实体集合和实体转换成相应的string、XDocument、XElement、XDocument

    https://msdn.microsoft.com/zh-cn/library/system.xml.linq.xelement(v=vs.110).aspx XElement.Parse 方法 ( ...

  9. 【laravel54】查看版本号3种方式

    1:最简单的用命令行实现>进入项目目录,执行 > php artisan --version 2:查看文件 vendor\laravel\framework\src\Illuminate\ ...

  10. unity3D中使用Socket进行数据通信(二)

    上一篇博客主要介绍了使用socket搭建服务端和client程序,这一篇来说说socket的数据传输,我们使用socket的目的是解决点对点之间的数据传输,之前提到了socket中一个重要的概念:po ...