Növbə (ing.Queue) — proqramlaşdırmada verilənlər strukturudur və məlumatların müəyyən qaydada saxlanması və işlənməsi üçün istifadə olunur.[1] Növbə, FIFO (ing.First In, First Out) prinsipi əsasında işləyir, yəni ilk daxil olan element ilk çıxır. Bu struktur adətən, məlumatların ardıcıl emalı tələb olunduğu hallarda istifadə olunur, məsələn, işlərin, proseslərin və ya sorğuların sıralanması üçün.
Tipik olaraq, start növbənin başına, end isə növbəyə yeni element daxil olduqda doldurulacaq elementə işarə edir. Növbəyə element əlavə edərkən yeni növbə elementinə q[end] yazılır və sonu bir azaldılır. Əgər end-in dəyəri 1-dən kiçik olarsa, o zaman bir növ massivdən keçirilir və dəyişənin qiyməti n-ə bərabər olur. Elementin növbədən çıxarılması da eyni şəkildə həyata keçirilir:[4]q[start] elementi növbədən çıxarıldıqdan sonra start dəyişəni 1 azalır. Belə alqoritmlərlə n-dən bir xana həmişə boş qalacaq (növbədən bəri n elementi boş elementdən ayırmaq mümkün deyil), bu, alqoritmlərin sadəliyi ilə kompensasiya olunur.
↑Hood, Robert; Melville, Robert. "Real-time queue operations in pure Lisp". Information Processing Letters. 13 (2). November 1981: 50–54. doi:10.1016/0020-0190(81)90030-2. hdl:1813/6273.
Donald Knuth. The Art of Computer Programming, Volume 1: Fundamental Algorithms, Third Edition. Addison-Wesley, 1997. ISBN0-201-89683-4. Section 2.2.1: Stacks, Queues, and Dequeues, pp. 238–243.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN0-262-03293-7. Section 10.1: Stacks and queues, pp. 200–204.
William Ford, William Topp. Data Structures with C++ and STL, Second Edition. Prentice Hall, 2002. ISBN0-13-085850-1. Chapter 8: Queues and Priority Queues, pp. 386–390.
Adam Drozdek. Data Structures and Algorithms in C++, Third Edition. Thomson Course Technology, 2005. ISBN0-534-49182-0. Chapter 4: Stacks and Queues, pp. 137–169.