算法学习笔记

文件的输入输出重定向,在main函数的入口处加入以下两条语句即可

freopen("input.*","r",stdin);

freopen("output.*","w",stdout);

 

文件的标准输入输出

FILE *fin,*fout;

fin=fopen("input.*","rb");

fout=fopen("output.*","wb");

while(fscanf(fin,"%d",&x)==1){}

fprintf(fout,"max:%d  min:%d  average:%.3lf\n",max,min,average);

fclose(fin);

fclose(fout);

 

长整数格式:"%I64d"win环境)  "%lld"VS2008Linux.gcc

 

对于未给出起始的大小比较maxmin,我们可以定义一个“正(负也可以)无穷大”的常数INF,使得min=INFmax=-INF

 

(double)clock()/CLOCKS_PER_SEC返回程序执行的秒数

 

<string.h>

memset(a,0,sizeof(a));--将数组a清零

memcpy(b,a,sizeof(a));--a数组复制到b数组

memcpy(b,a,sizeof(类型)*个数);--将部分a数组复制到b数组

 

c语言的gets(s)存在缓冲区溢出漏洞,不推荐使用。

 

算法设计过程中,对于数据之间的逻辑关系(一个数必须要小于另一个数等等),要提高注意力。

 

<assert.h>  使用assert(约束条件)宏来限制非法的函数调用。不成立时,会异常终止程序,并提示错误信息。

 

欧拉公式:V--E+F=2

 

使用标准库的栈和队列时,先包含相关的头文件

#include<stack>

#include<queue>

定义栈如下:

stack<int> stk;

定义队列如下:

queue<int> q;

栈提供了如下的操作

1. s.empty()               如果栈为空返回true,否则返回false  

2. s.size()                返回栈中元素的个数  

3. s.pop()                 删除栈顶元素但不返回其值  

4. s.top()                 返回栈顶的元素,但不删除该元素  

5. s.push()                在栈顶压入新元素  


队列提供了下面的操作

1. q.empty()               如果队列为空返回true,否则返回false  

2. q.size()                返回队列中元素的个数  

3. q.pop()                 删除队列首元素但不返回其值  

4. q.front()               返回队首元素的值,但不删除该元素  

5. q.push()                在队尾压入新元素  

6. q.back()                返回队列尾元素的值,但不删除该元素  

 

三角形有向面积计算点落入区域的问题

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值