peek

How to properly use cin.peek()

心不动则不痛 提交于 2019-12-30 08:25:10
问题 This function is supposed to read a fraction and place it in an array. If the user enters '0' the function is supposed to exit. I am trying to do this using the cin.peek() function but execution always goes into the if statement and doesn't allow the user to exit. How should I properly code this (I am open to not using peek(), I thought it was the simplest way of doing it.) Thanks! void enterFrac(Fraction* fracs[], int& index) { int n, d; char c, slash; cout << "Enter fractions (end by

Ubuntu中的Gif动画录制工具

本秂侑毒 提交于 2019-12-28 21:11:09
  为了在随笔中插入gif动态图Windows系统上可以使用 ScreenToGif 这个非常好用的小软件,在Ubuntu系统中选择也很多(可以参考最下面的链接),下面介绍两款ubuntu系统中的录屏软件: byzanz   安装byzanz: sudo apt-get update sudo apt-get install byzanz   使用byzanz-record命令来录制gif动画,主要参数选项: 用法: byzanz-record [选项...] 录制您的当前桌面会话 帮助选项: -?, --help 显示帮助选项 --help-all 显示全部帮助选项 --help-gtk 显示 GTK+ 选项 应用程序选项: -d, --duration=SECS 动画的时间 (默认:10 秒) -e, --exec=COMMAND Command to execute and time --delay=SECS 开始之前的延时(默认:1 秒) -c, --cursor 录制鼠标光标 -a, --audio 录音 -x, --x=像素 要录制矩形的 X 坐标 -y, --y=像素 要录制矩形的 Y 坐标 -w, --width=像素 录制矩形的宽度 -h, --height=像素 录制矩形的高度 -v, --verbose 详细 --display=显示 要使用的 X 显示   

leetcode155. 最小栈

℡╲_俬逩灬. 提交于 2019-12-23 19:45:45
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> 返回 -3. minStack.pop(); minStack.top(); --> 返回 0. minStack.getMin(); --> 返回 -2. 思路:辅助栈。跟着主栈压和弹,但是压入的是当前最小值。取最小值时就取辅助栈的栈顶即可。 import java.util.Stack; public class MinStack { // 数据栈 private Stack<Integer> data; // 辅助栈 private Stack<Integer> helper; /** * initialize your data structure here. */ public MinStack() { data = new Stack<>(); helper = new Stack<>(); }

java之Stack详细介绍

我怕爱的太早我们不能终老 提交于 2019-12-23 03:21:15
概要 学完 Vector 了之后,接下来我们开始学习Stack。Stack很简单,它继承于Vector。学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。 内容包括: 第1部分 Stack介绍 第2部分 Stack源码解析(基于JDK1.6.0_45) 第3部分 Vector示例 转载请注明出处: http://www.cnblogs.com/skywang12345/p/3308852.html 第1部分 Stack介绍 Stack简介 Stack是栈。它的特性是: 先进后出 (FILO, First In Last Out)。 java工具包中的Stack是继承于 Vector (矢量队列)的,由于Vector是通过数组实现的,这就意味着, Stack也是通过数组实现的 , 而非链表 。当然,我们也可以将LinkedList当作栈来使用!在“ Java 集合系列06之 Vector详细介绍(源码解析)和使用示例 ”中,已经详细介绍过Vector的数据结构,这里就不再对Stack的数据结构进行说明了。 Stack的继承关系 java.lang.Object ↳ java.util.AbstractCollection<E> ↳ java.util.AbstractList<E> ↳ java.util.Vector<E> ↳

C#: Implementing NetworkStream.Peek?

折月煮酒 提交于 2019-12-18 14:49:53
问题 Currently, there isn't a NetworkStream.Peek method in C#. What is the best way of implementing such a method which functions just like NetworkStream.ReadByte except that the returned byte is not actually removed from the Stream ? 回答1: If you don't need to actually retrieve the byte, you can refer to the DataAvailable property. Otherwise, you can wrap it with a StreamReader and invoke its Peek method. Note that neither of these are particularly reliable for reading from a network stream, due

Is StreamReader.Readline() really the fastest method to count lines in a file?

梦想的初衷 提交于 2019-12-18 12:21:59
问题 While looking around for a while I found quite a few discussions on how to figure out the number of lines in a file. For example these three: c# how do I count lines in a textfile Determine the number of lines within a text file How to count lines fast? So, I went ahead and ended up using what seems to be the most efficient (at least memory-wise?) method that I could find: private static int countFileLines(string filePath) { using (StreamReader r = new StreamReader(filePath)) { int i = 0;

LinkedList 源码分析

别来无恙 提交于 2019-12-17 17:04:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、概述 本文基于 JDK8 LinkedList 底层通过双向集合的数据结构实现 内存无需连续的空间保证 元素查找只能是顺序的遍历查找 针对增删操作具有更好的性能 LinkedList 可以作为 List 使用,也可以作为队列和栈使用。支持从集合的头部,中间,尾部进行添加、删除等操作。 LinkedList 的继承与实现的关系图如下所示。 <div align = "center"> <img src="https://img-blog.csdnimg.cn/20191209175140775.png" /> </div> 以下说明摘自 JDK 文档。 Iterable 接口:提供迭代器访问能力,实现此接口允许对象通过 for-each 循环语句进行遍历。 Collection 接口:集合层次结构中的根接口。集合中的一组对象称为元素。一些集合允许重复的元素,而另一些则不允许。有些是有序的,而另一些是无序的。 JDK 不提供此接口的任何直接实现,它提供了更多特定子接口的实现,例如 Set 和 List 。该接口通常用于传递集合并在需要最大通用性的地方使用。 AbstractCollection 抽象类:此类提供了 Collection 接口的基本实现,以最大程度地减少实现此接口所需的工作。 List 接口

Java Connection集合分析之Queue

僤鯓⒐⒋嵵緔 提交于 2019-12-14 19:59:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Queue队列 1.Queue用于模拟队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。这种结构就如同我们生活中的排队一样。 2.Queue家族有两大分支,即阻塞队列和非阻塞队列,阻塞队列都是用于并发编程当中。 阻塞队列会对当前线程产生阻塞,比如一个线程从一个空的阻塞队列中取元素,此时线程会被阻塞直到阻塞队列中有了元素。当队列中有元素后,被阻塞的线程会自动被唤醒(不需要我们编写代码去唤醒),或者针对有界队列不光是获取元素时会阻塞,当队列中没有空余空间的时候相对列插入元素也会产生阻塞。 非阻塞队列在插入元素和获取元素时不会对当前线程产生阻塞,在不涉及并发环境以及并发环境中不涉及多线程共享变量的代码中经常使用。在并发环境中使用非阻塞队列的时候有一个很大问题就是:它不会对当前线程产生阻塞,那么在面对类似消费者-生产者的模型时,就必须额外地实现同步策略以及线程间唤醒策略,这个实现起来就非常麻烦。 非阻塞队列 1.PriorityQueue保存队列元素的顺序不是按加入队列的顺序,而是按队列元素的大小进行重新排序。因此当调用peek()或pool()方法取出队列中头部的元素时

Spring Aop原理之切点表达式解析

痞子三分冷 提交于 2019-12-14 16:42:53
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在前面的文章( Spring AOP切点表达式详解 )中,我们总结了Spring Aop切点表达式的用法,而在上文( Spring Aop原理之Advisor过滤 )中我们讲到,切点表达式的解析主要是在 PatternParser.parsePointcut() 方法中进行的。本文的主要目的是讲解Spring Aop是如何递归的对切点表达式进行解析,并且最终封装为一个Pointcut对象的。 这里我们首先举一个典型的切点表达式的例子: @Pointcut(value = "!execution(public protected void com.business.Dog.*(..)) && args(name)", argNames = "name") 该切点将会匹配如下条件的反面的的所有方法:使用public修饰,返回值为void类型,类为com.business.Dog的方法,并且这些方法必须满足有一个名称为name的参数。 1. 解析入口 如下是 PatternParser.parsePointcut() 方法的实现: public Pointcut parsePointcut() { // 转换一个Pointcut单元,比如上述的execution和args都属于一个切点单元 Pointcut p =

peek at input buffer, and flush extra characters in C

断了今生、忘了曾经 提交于 2019-12-14 02:11:41
问题 If I want to receive a one character input in C, how would I check to see if extra characters were sent, and if so, how would I clear that? Is there a function which acts like getc(stdin), but which doesn't prompt the user to enter a character, so I can just put while(getc(stdin)!=EOF); ? Or a function to peek at the next character in the buffer, and if it doesn't return NULL (or whatever would be there), I could call a(nother) function which flushes stdin? Edit So right now, scanf seems to