一些小的编程技巧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一些小的编程技巧相关的知识,希望对你有一定的参考价值。

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大顶堆 

 

 

以上是关于一些小的编程技巧的主要内容,如果未能解决你的问题,请参考以下文章

提效小技巧——记录那些不常用的代码片段

使用 Git 来管理 Xcode 中的代码片段

Android 实用代码片段

Android 实用代码片段

一些小的编程技巧

保存以编程方式为片段创建的视图并在 onresume 中恢复