栈是限定只能在表的一端进行插入和删除操作的线性表,向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为栈顶元素。必须按照“后进先出”的原则,只能从头部读取数据,也就是说,一个数据如果是最先放进去的,要等到最后才能把它拿出来。
队列是限定只能在表的一端进行插入和另一端进行删除操作的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。必须按照“先进先出”的规则,就是说,一个数据如果是先放进栈中,就会先取出来。
栈
Insert(L,n+1,x)
Delete(L,n)
而栈只允许在表尾一端进行插入和删除
队列
Insert(L,n+1,x)
Delete(L,1)
队列只允许在表尾一端进行插入,在表头一端进行删除
栈和队列的相同点是都是线性数据结构,并且只允许在断点处插入和删除元素。
栈和队列的不同点是两者删除元素的位置不同,一个在队头一个在对尾,而且栈的最先放进的数据要遍历整个栈最后才能取出来。