首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言每日一题(41)循环队列

    力扣 622 循环队列 题目描述 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。...循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。...如果队列为空,返回 -1 。 enQueue(value): 向循环队列插入一个元素。如果成功插入则返回真。 deQueue(): 从循环队列中删除一个元素。如果成功删除则返回真。...isEmpty(): 检查循环队列是否为空。 isFull(): 检查循环队列是否已满。...思路分析 循环队列与普通队列相比,在于它在逻辑上是环形的,空间是固定的, 所以就不能像普通队列一样去满队时扩容,而是要提前开辟好所用的空间。

    11610

    C语言每日一题(40)栈实现队列

    力扣232 用栈实现队列 题目描述 请你仅使用两个栈实现先入先出队列。...队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素...int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 说明: 你 只能 使用标准的栈操作 —— 也就是只有 push to...你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。...思路分析 针对队列的四个功能,我们逐一讲解并进行实现 1.void push(int x) 将元素 x 推到队列的末尾:关于进队,没有具体的返回值,对于系统如何进行存储也没有过多要求,我们就定义一个pushst

    14410

    C语言每日一题(36)队列实现栈功能

    力扣 225 用队列实现栈 题目描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。...思路分析 关于栈的功能,见于是基础的数据结构,且如果知道队列的功能也一定会知道栈的功能,这里不过多赘述,直接上思路 基于栈后进先出,而队列先进先出的特点,我们可以定义两个队列, 这里先描述出栈的实现,假设一个队列里已经放好了值...,为1,2,3,4,按照队列出队的话,先取到1,但如果出栈的话,就需要取到4,这里另外一个队列就派上用场了,我们可以将队尾前的所有元素出队,并进入到另一个队列里,最后剩下的就是需要出栈的元素,此时我们在去原队列的队头元素即可...紧接着是返回栈顶元素,我们已经知道,队尾就是我们出栈的元素,所以这里直接返回队列的队尾元素即可。 判断栈为空,直接检测两个队列是否同时为空即可。...; //打印队列 void QueuePrint(Queue* q); // 销毁队列 void QueueDestroy(Queue* q); // 初始化队列 void QueueInit(Queue

    11410

    C语言沉浸式刷题【C语言必刷题】

    A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说: 我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次... 程序分析:通过前面一题的经验,我们可以采用条件相加等于一个特定值来进行判断满足条件的名次,这里,我们通过穷举法进行分析。...score; } } printf("%.2f", (sum - min - max) / 5.0); return 0; } 7.获得月份的天数  KIKI想获得某年某月有多少天,请帮助他编程实现...arr[i]); } return 0; } 9.找出缺失的数字(多种方法实现) 数组num包含从0到n的所有整数,但其中缺了一个,请编写代码找出那个缺失的整数,你有办法在O(n)内完成吗,编写C语言代码解决...(arr) / sizeof(arr[0]); printf("%d\n",find_missing(arr,sz)); return 0; } 10.把字符串中空格替换成“%20” 写一个C语言程序

    13210
    领券