如何用js实现堆栈/队列的数据结构
2.因为你的问题形容的比较模糊,所以补充信息给出你的答案。首先定义队列一定要说是单向循环队列,还是双向循环队列,你这里没有指出就默认是单向循环。2.1何时队列满。当新的结点进入队列的时候,那么当前的length+1当你的length=MAXlength;是代表该队列是满。2.2入队列,根据队列的定义如果入队列只能在尾巴处加入。新节点是node;node->next=rear->next;rear->next=node;2.3出队列,根据队列的定义如果出队列只能在头结点出。temp=rear->next;rear->next=rear->next->next;free(temp);3.首先假设两个栈是等长的,那么队列慢的判断条件的是两个栈中的结点和,等于一个栈的容量的时候,就代表队列满了!当两个栈不等长的时候,两个栈中的结点和等于较小的栈的长度队列就满了。以较小的栈作为队列存放栈,长的栈作为辅助栈。3.1出队列从栈顶去除结点即可。3.2入队列,将短栈内的元素,一次入长栈,然后将新元素,压入短栈,再将长栈中的元素一次入短栈。即完成了入栈。