一些小的编程技巧

发布时间:2017-7-9 7:09:51编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"一些小的编程技巧 ",主要涉及到一些小的编程技巧 方面的内容,对于一些小的编程技巧 感兴趣的同学可以参考一下。

1.while

while(scanf("%d",&a)!=EOF)

不断输入测试数据,知道遇见结束符  类似的还有 while(gets(str)) 等

2. scanf的妙用

scanf("%4d%2d%2d",&y,&m,&d);

输入年月日   自动复制 如19970103

3. 全局变量

如果需要开辟大量的内存空间,必需定义为全局变量,或者使用malloc动态申请变量空间。

比如说需要定义一个大数组,如果直接在main中定义,那么函数所使用的栈空间将不足以提供如此庞大的内存,出现栈溢出,导致程序异常终止。

4. Hash

尽量使用hash表,hash数组,把程序中多次要用到的数据,先计算一遍 再记录起来,下次再用的时候只需要查表就可以了。

5. 优先队列实现小顶堆or大顶堆

优先队列实现大顶堆 :

priority_queue<int> Q

小顶堆:

priority_queue<int,vector<int>,greater<int> > Q

对堆的有关操作:

Q.push(x);//将元素x放入堆Q中int a=Q.top();//将堆顶元素的值赋值给a,但是并不弹出堆顶元素Q.pop();//弹出堆顶元素,取出后堆会自动调整为一个新的小顶堆or大顶堆 

 


上一篇:poj 3267 The Cow Lexicon (动态规划)
下一篇:Intellij IDEA 使用Spring-boot-devTools无效解决办法

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款