# Linear Queue vs. Circular Queue

The difference between linear queue and circular queue is that in linear queue data and instructions are organize in a sequential order one after one whereas in circular queue data and instructions are organize in a circular order where last element is connected with the first element. The queue is the most important data structure, and if you want to master computer programming you must learn about the queue, there are two queues that is a linear queue and circular queue. In linear queue data and instructions are organize in a sequential order one after one whereas in circular queue data and instructions are organize in a circular order where the last element is connected with the first element.  The queue is a non-primitive linear data structure that used first in first out method.

Linear queue follows first in first out method. The linear queue is like the straight line where elements are one after other. Element is added from one side and deleted from another side. There are many operations that are performed on the queue that is, the queue is initialized to zero or is empty, and then we check that queue is empty or not after this we check queue is full or not. Enqueue operation is performed that is the insertion of the new element form the end of the queue, and finally, there is dequeue that is delete of the element from the front end.  There are two ways that the queue can be implemented that are statically when we say statically it means using arrays. Another way is dynamically by saying dynamically it means using pointers.

In circular queue data and instructions are organize in a circular order where the last element is connected with the first element. Linear queue has some limitation that circular queue doesn’t have. In a circular queue, a new element is added in the first position of the queue. In linear queue, insertion is only performed by one rear end and deletion form front end. If the queue is full, there arises a situation where a new element cannot be added. In circular queue, two ends are connected through a pointer in which the first element comes after the insertion of the last element. Overflow condition that is generated in the linear queue is not generated in the circular queue.  Conditions of the circular queue are front must be the first element, there should be a condition that front= rear in the circular queue. When a new element is added the condition becomes rear = rear +1 and element is deleted from the queue then the condition becomes front = front +1.

Contents:

### Comparison Chart

 Basis Linear queue Circular queue Meaning In linear queue data and instructions are organize in a sequential order one after one In circular queue data and instructions are organize in a circular order where last element is connected with first element. Order Linear queue follow first in first out order Circular queue don’t have any specific order The position of insertion and deletion In linear queue, insertion happen from the rear end, and deletion happen from the front. In circular queue deletion and insertion can happen from any side. Efficiency Linear queue is inefficient that circular queue. Circular queue is efficient from linear queue.

### Linear queue

Linear queue follows first in first out method. The linear queue is like the straight line where elements are one after other. Element is added from one side and deleted from another side. There are many operations that are performed on the queue that is, the queue is initialized to zero or is empty, and then we check that queue is empty or not after this we check queue is full or not. Enqueue operation is performed that is the insertion of the new element form the end of the queue, and finally, there is dequeue that is delete of the element from the front end.  There are two ways that the queue can be implemented that are statically when we say statically it means using arrays. Another way is dynamically by saying dynamically it means using pointers.

### Circular Queue

In circular queue data and instructions are organize in a circular order where the last element is connected with the first element. The linear queue has some limitation that circular queue doesn’t have. In a circular queue, a new element is added in the first position of the queue. In linear queue, insertion is only performed by one rear end and deletion form front end. If the queue is full, there arises a situation where a new element cannot be added. In a circular queue, two ends are connected through a pointer in which the first element comes after the insertion of the last element. Overflow condition that is generated in the linear queue is not generated in the circular queue.  Conditions of the circular queue are front must be the first element, there should be a condition that front= rear in the circular queue. When a new element is added the condition becomes rear = rear +1 and element is deleted from the queue then the condition becomes front = front +1.