万用螺丝刀啥都能干,为什么还要单一功能螺丝刀?
换而言之,你可以用菜刀切土豆丝,但刮丝器更方便;你也可以用菜刀削黄瓜皮,但是刮皮器更方便。
栈和队列都是一种典型的线性表,都是基于线性表(顺序表和链表)来实现的,在栈和队列定义后,只有那三种操作,即入栈、出栈、取栈顶元素,而那三种操作都是最常用的,它支持的操作越少,我们在使用的时候需要关注的点也就越少,用起来就越不容易出错。栈和队列存在的意义就是减少线性表的基本操作,提取特定操作,供人们在特定的场景下使用。
特定的数据结构和算法都是针对具体问题的,有它适用的场景。学习数据结构,不可以过于死板,栈和队列的相关操作只是人为规定,只不过这样的操作在实际中太常用了,所以大家就把它规范起来,然后取个名字,这样,分析问题时,就只需要抓住其本质,而忽略其余的繁琐。