环形队列原理 数据结构中循环队列用取模运算实现怎么理解啊?
数据结构中循环队列用取模运算实现怎么理解啊?
你可以画一个数组,给它加上数字,取数字,试试看这是最直观的数据结构,怎么理解?就像你周围的事情一样,你不需要理解。在你说母语之前,你会考虑每一句话吗?简单的数据结构就是模仿现实中的事物。你排队过吗?循环队列相当于循环队列。总之,你可以自己画一个图或一个数组,你可以在尝试时看到它。不要画得太大。如果你画3-7个网格,如果你画100个网格,你就不用做实验了
一个循环队列就是一个封闭的队列。如果是使用数组创建的队列,则会有指向队列第一个和最后一个的指针。这两个指针通过函数在队列中连续移动。当队列末尾的指针指向最后一个时,它将使用函数(在书中)指向前面。因此,队列总是可以指向队列的末尾,当我们下去的时候,会有前驱和后继。
如果是指针,它会更生动,因为它的最后一个节点总是指向最后一个节点。因此,第一元素和最后元素有先驱和后继者,而我不会谈论中间的其他元素。
数据结构中如何理解:循环队列的每一个元素都有一个前驱和后继?
1. 循环队列的优点:可以有效地利用资源。当使用数组实现队列时,如果不移动队列,随着数据的不断读写,队列将是伪满的。即尾部数组已满,但头部数组仍为空;循环队列也是一个数组,但它在逻辑上连接数组的头部和尾部以形成一个循环队列。当数组尾部已满时,需要判断数组头部是否为空,并继续存储数据。
2. 循环队列的缺点:在循环队列中,当进入队列时,尾部指针追上头部指针;当离开队列时,头部指针追上尾部指针,导致队列为空或满时,头部-尾部指针相等。因此,不可能通过条件front==real来判断队列是空的还是满的。
3. 扩展知识:为了充分利用向量空间,克服“虚溢出”现象的方法是把向量空间想象成一个从头到尾相连的环,并称这种向量为循环向量。存储在其中的队列称为循环队列。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。