c语言结构体那块的队列问题。我们书上没有,是能给我讲讲。把我讲懂我给加分

如题所述

你好,队列用简单的话讲就是一个数组,这个数组是先进先出的。
队列包含两个属性,一个叫head,head指向队头,另一个叫tail,tail 指向当前的队尾。
举个例子:用一个数组q[1...n]来表示一个队列,里面最多放n-1个元素,各元素的位置为:head,head+1,...,tail-1,在最后一个位置要进行圈绕,即让队列中的n个元素排成环形,位置1刚好在位置n的后面。
开始时候head=tail=1,因为没有元素,都指向q[1],然后是入队操作,入队操作直接往“队尾”添加元素即可,将插入的元素赋值给q[tail],然后看tail是不是已经到数组的末尾位置了,如果到了,tail=1(实现了环形数组),如果没有到,那么tail=tail+1,入队结束。删除操作是直接从“队头”删除,找到q[head],将其值取出赋值给一个变量比如说x,然后看head是不是已经到数组的末尾位置了,如果到了,head=1(实现了环形数组),如果没有到,那么head=head+1,出队结束。判队列是否为空操作,就看head是否等于tail,等于就是空的。最后,注意当队列为空时,试图删除一个元素,就会导致队列下溢,应该在删除前先判定队列是否为空。如果head=tail+1时(因为是环形),队列满,此时添加元素会溢出,应该在添加操作前判定。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-19
你的问题是什么,能描述清楚一点么?追问

就是队列呀,有点像链表的那个,

追答

队列跟栈是比较接近的概念,就像一个通道,从队尾进入,从队首出来,就这两个要点,其他没什么啊

c语言结构体那块的队列问题。我们书上没有,是能给我讲讲。把我讲懂我...
你好,队列用简单的话讲就是一个数组,这个数组是先进先出的。队列包含两个属性,一个叫head,head指向队头,另一个叫tail,tail 指向当前的队尾。举个例子:用一个数组q[1...n]来表示一个队列,里面最多放n-1个元素,各元素的位置为:head,head+1,...,tail-1,在最后一个位置要进行圈...

我有烦心事的时候,男朋友总是给我讲道理,道理我都懂,我就是心里过不去...
有时候我很任性,爸爸就会严厉的批评我,这是因为爸爸在教育我。有时候我做事情有懒惰的情绪,不能坚持到底,爸爸就会很严厉的说:“做事情不能半途而废,不能总是靠别人。”在学习上,爸爸总是不给我偷懒的机会,一直在监督着我。其实我学琴、文具,只要是需要的,爸爸都会支持我,给我出钱。这种深沉的爱,是无法用语言...

数学问题啊。。。请各位耐心看完,有好的我会加分、
我觉得你的问题是基础可能不太扎实,数学概念定义理解含糊,知识点之间的关系没有串联起来。就拿导数来说吧,其实也很简单,就是直线的斜率,曲线的切线斜率。没有什么,学了导数,你就多了一种求斜率得手段方法而已。就如你在小学是用算数方法解应用题,在中学用方程、方程组等去解,数学说到底只是一...

今天看C语言书上说函数只能定义一次,而声明可以有好多个,请高手给我...
因为在C语言中不允许函数的重写,所以一个函数只能定义一次。。而函数申明是为了让调用它的其他函数能知道它的存在,就比如说:当你的main函数想调用 fun 函数时,如果fun函数在main函数的下面,具体如下:void main() { fun() ; \/\/ 调用fun函数 } void fun() { ... \/\/ 实现部分...

有一个笑话 前边大概讲的是一帮人去玩 一女的喝多了 看交警拿着酒精器...
有一个笑话 前边大概讲的是一帮人去玩 一女的喝多了 看交警拿着酒精器 就上去说给我吹吹 那个笑话是 30 有一个笑话前边大概讲的是一帮人去玩一女的喝多了看交警拿着酒精器就上去说给我吹吹那个笑话是什么啊谁给讲讲呗给分... 有一个笑话 前边大概讲的是一帮人去玩 一女的喝多了 看交警拿着酒精...

...讲解股票,替我们选股,就不明白,他们这些人出
每天都有人在QQ上要我去一个软件上面听所谓的老师听课,讲解股票,替我们选股,就不明白,他们这些人出揭露一些股票QQ群做内幕害人手法 谨防上当 手法一:伪造推荐后马上就拉到涨停板的聊天记录。 凡是进了推

能不能给我讲讲not only,but also
4. not only放在句首,后接句子时要用倒装结构:(1) Not only should proletarians emancipate themselves but also the whole mankind. 无产者不仅要解放他们自己,而且要解放全人类。(2) Not only does television appeal to those who can read but to those who can't. 电视不仅吸引阅读的人,...

在街上有人拉我给我讲圣经,是骗人的吗?
在街上有人拉我给我讲圣经,是骗人的吗? 这些事你要当心, 因为现在许多假基督徒,并不是真信耶稣真心传救恩之道的人.那真正信耶稣的人也会沿街传道,也会街头布道,为的是使更多人认识这位耶稣基督, 现在假基督徒(并不是真信耶稣的人),也会有类似的工作,在街上甚至有心不坚固的基督徒受骗,...

我无聊死了,谁给我发些笑话。笑话你就别百度了,知道就发。百度上面的...
自那以后我也开始和女同事抢着给小女孩理发了。 2:店里是专门给小孩子理发的儿童理发器,有一个妈妈对这很感兴趣,几次以后要求买一个,我们解释许多自己在家给小孩子理发不安全,这个妈妈坚持是买回去给刚出生不久的小狗剃毛,于是没办法卖给她一个。没几天,这个妈妈带她戴着帽子的儿子又过来了,一进门就说:“给...

c语言题目 兔子繁衍问题 希望能给我详细讲讲思路 ,
{ printf("第%d个月数量将达到%d,为:%d\\n",i,n,onemonth+twomonth+other);break;} } return 0;} 思路很简单,就是循环月数+1,把兔子分为3类,一个月后能繁衍的,2个月后能繁衍的,3个月后能繁衍的,每次循环统计每类的个数就行了,一个简单的逻辑问题 ...

相似回答
大家正在搜