ACM - 暑期第十二天:排序 + 搜索 + c++各种输入的区别
来源:互联网 发布:淘宝嘉年华价格变更 编辑:程序博客网 时间:2024/06/09 22:11
1.遐想
经过快两个礼拜的努力,校ACM已经AC了84题了。我很爱很爱你,84!在今天这个特殊的日子里我愿意为你停留,但是我却不能一直为你停留,这就是现实,我必须用力奔跑,将来才有勇气有资格去面对你。接下来我要疯狂继续AC,进阶人生的地位。恍然间已经22岁,已经 2 年了。路一直在,人已走远!
2.排序
杭电排序系列
自己按照杭电的这个系列做下来,发现大都是水题,拿来练信心的。排序有快速排序,归并排序,堆排序,基数排序,冒泡排序,选择排序...总共八大排序。记得写一个系列博客。
3.搜索
在校ACM1001上就有用搜索来做题的(校ACM1001)。给个杭电搜索系列的链接:杭电搜索系列链接。在hdu1010上,用 剪枝 + 深度优先搜索(递归实现)比较简单的。
4.c++各种输入的区别
输入操作的原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入。
问题描述一:(分析scanf()和getchar()读取字符)
scanf()和getchar()函数是从输入流缓冲区中读取值的,而并非从键盘(也就是终端)缓冲区读取。
而读取时遇到回车(\n)而结束的,这个\n会一起读入输入流缓冲区的。
问题描述二:(分析scanf()和gets()读取字符串)
用scanf来读取一个字符串时,scanf()函数取数据是遇到回车、空格、TAB就会停止。
字符串中是不可以出现空格的,一旦出现空格,后面的数据就会舍弃残留在缓冲区中。
另外一个函数是可以接受空格的,那就是gets()。
问题描述三:cin<<
该操作符是根据后面变量的类型读取数据。
输入结束条件:遇到Enter、Space、Tab键。
对结束符的处理:丢弃缓冲区中使得输入结束的结束符(Enter、Space、Tab) (有争议= - =)总结:
第一:要注意不同的函数是否接受空格符、是否舍弃最后的回车符的问题!
读取字符时:
scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中);
getchar()以Enter结束输入,也不会舍弃最后的回车符;
读取字符串时:
scanf()以Space、Enter、Tab结束一次输入
gets()以Enter结束输入(空格不结束),接受空格,会舍弃最后的回车符!
C语言里提供了函数清空缓冲区,只要在读数据之前先清空缓冲区就没问题了!
这个函数是fflush(stdin)。
- ACM - 暑期第十二天:排序 + 搜索 + c++各种输入的区别
- 各种输入的区别
- ACM中各种输入漫谈,C与C++输入比较
- C语言中各种输入函数之间的区别
- java语言的各种输入情况-ACM
- ACM--各种排序
- ACM - 暑期第六天:博弈论
- c实现的各种排序
- Python & C ACM 输入的获取
- 学习C 的第十二天
- Object-C 的各种区别
- 第十二周项目二——oj平台题目中各种输入形式的处理
- STL中各种排序算法的区别
- 各种排序算法的区别表
- 第十二天、选择排序
- ACM - 暑期第四天:动态规划
- ACM - 暑期第十天:最短路径
- ACM暑期计划——第四天
- Android 组件 — Service 剖析
- Spring3注解实例(一)
- 用C#打造自己的通用数据访问类库(续)
- wxPython摸索[02]——Toolbar与Tool
- VS2012创建MFC项目、第一个VS2012版MFC程序及MFC程序发布(release)
- ACM - 暑期第十二天:排序 + 搜索 + c++各种输入的区别
- log4net使用详解
- asp.net夜话之十一:web.config详解
- ASCII,Unicode和UTF-8
- 是一种心灵的默契,爱一个人不一定要拥有
- JDBC访问各个数据库
- ASP.NET版Memcached监控工具
- Android开发中禁止Eclipse中xml文件Run as的XSL Transformation生成out.xml
- ioremap