صف حلقوی:
صف حلقوی همون صف ساده است ولی با این تفاوت که مشکل فوق رو نداره. تمام مقادیر اون با صف ساده یکسان هست مگر شرط پر بودن آن که به شکل زیر هست:
if Front=(Rear+1) mod n
زیر برنامه های حذف و اضافه کرن به صف حلقوی عبارتند از:

void delq()
{
if (front==rear)
queuempty();
else {
front=(front+1)%n;
reaturn q[front];
}




void addq(items k)
{
if (front==(rear+1)%n)
queufull();
else {
rear=(rear+1)%n;
q[rear]=k;
}



در صف حلقوی در هر لحظه حداکثر n-1 عنصر وجود داره و بدین ترتیب می توان بین حالت پر و خالی تمایز قائل شد.