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 nonprimitive 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.
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.
Key Differences
 In linear queue data and instructions are organized in a sequential order one after one whereas In circular queue data and instructions are organized in a circular order where the last element is connected with the first
 Linear queue follow first in first out order whereas Circular queue doesn’t have any specific order.
 In a linear queue, insertion happens from the rear end, and deletion happens from the front. Whereas In circular queue deletion and insertion can happen from any side.
 Linear queue is inefficient that circular queue whereas circular queue is efficient from linear queue.
Conclusion
In this article above we see the clear difference between linear queue and circular queue with implementation.