Stack:
Stack (stack), also known as stack, is a linear table with limited operations. The restriction is that insertion and deletion operations are only allowed at one end of the table. This end is called the top of the stack, and the other end is called the bottom. (Recommended learning: java course)
The stack (Stack) is created by the operating system when it creates a process or thread (thread in an operating system that supports multi-threading) for this thread. The storage area has FIFO characteristics, and the required Stack size can be specified during compilation.
Queue
The queue is a special linear table. The special thing is that it only allows deletion operations at the front end (front) of the table. The backend (rear) performs insertion operations. Like the stack, the queue is a linear list with restricted operations. The end that performs the insertion operation is called the tail of the queue, and the end that performs the deletion operation is called the head of the queue.
When there are no elements in the queue, it is called an empty queue.
To establish a sequential queue structure, you must statically allocate or dynamically apply for a continuous storage space, and set two pointers for management. One is the queue head pointer front, which points to the queue head element; the other is the queue tail pointer rear, which points to the storage location of the next queued element.
The queue uses FIFO (first in first out). New elements (elements waiting to enter the queue) are always inserted into the end of the linked list, and when reading, they always start reading from the head of the linked list. . Each time one element is read, one element is released. The so-called dynamic creation and dynamic release.
Therefore, there are no problems such as overflow. Since the linked list is indirectly formed by the structure, it is also convenient to traverse. (First in, first out)
Difference:
The stack is a bucket. What is put in last is taken out first. The things underneath it have to wait for it. You can only come out after you come out. (Last in, first out)
The queue can only perform deletion operations at the head of the queue and insertion operations at the end of the queue, while the stack can only perform insertion and deletion operations at the top of the stack. (First in, first out)
The above is the detailed content of The difference between stack and queue in java. For more information, please follow other related articles on the PHP Chinese website!