我称它为队列,但根据维基百科,队列是先进先出的数据结构。
您添加到“前面”。而你从“结束”中删除。
我正在做相反的事情。
我正在添加到“结束”。并从“正面”移除。(使用 push() 和 shift() )
因为 front 和 end 没有任何具体含义,所以方向是否重要?
我只是从 wikipedia 和mdn中获取示例。
我可以称之为队列吗?
我可以称之为队列吗?
绝对的。您引用的定义是正确的;队列是“FIFO”,先进先出。这并不一定意味着您必须使用数组的一端或另一端。实际上,您甚至不需要数组。您也可以使用链表来表示队列。
将变量名“front”更改为“end”和“end”更改为“front”不会更改您正在使用的数据结构或算法。它仍然是一个队列。
这就是你所做的一切。如果您选择将“前端”和“末端”的角色颠倒过来,这并不重要。当您在出纳员处排队时,您进入“末端”并等到您在“前面”。那是一个队列。
我一直听说队列在语义上被描述为添加到后端/尾部的入队项目和从前端/头部删除的出队项目。
我上面描述的内容与您链接到的维基百科文章一致。我不确定你在哪里找到了相反的语义。
计算机不会关心你给变量取什么名字。但是,我建议您坚持我在开场白中描述的惯例,以符合惯例。
我还建议您pop
从代码中删除调用(使用 shift 代替)以避免混淆。