Does Swift Have a Queue Data Structure?


Larry Thompson

Swift is a powerful and versatile programming language that has gained popularity among developers worldwide. One of the key factors contributing to its success is its extensive collection of data structures. However, when it comes to the queue data structure, Swift does not have a built-in implementation like some other programming languages do.

What is a Queue Data Structure?

A queue is an abstract data type that follows the First-In-First-Out (FIFO) principle. It represents a collection of elements in which new elements are added at one end, called the “rear,” and existing elements are removed from the other end, known as the “front.” This makes a queue an ideal choice for scenarios where maintaining order and sequence matters.

Creating a Queue in Swift

Since Swift does not provide a native queue implementation, we can create our own custom queue using various techniques. One popular approach is to use an array to simulate the behavior of a queue:

var queue = [Int]()

To add elements to the rear of the queue, we can use the append() method:


To remove elements from the front of the queue, we can utilize removeFirst():

let removedElement = queue.removeFirst()
print(removedElement) // Output: 10

Working with Queue-like Behavior

In addition to simulating a traditional queue using arrays, Swift provides other data structures that exhibit similar behavior:

Collections with Queue-like Behavior:

  • Array: As mentioned earlier, arrays can be used to mimic a queue by adding elements to the end and removing elements from the beginning.
  • Linked List: Swift’s linked list, implemented using the LinkedList class from the Swift Standard Library, can also be used as a queue by adding elements at the tail and removing elements from the head.

Using External Libraries:

If you prefer using a pre-built queue data structure, you can explore external libraries available for Swift. One popular library is Queue, which provides a comprehensive implementation of queues with additional functionalities.


In summary, while Swift does not have a built-in queue data structure like some other programming languages, it offers alternatives such as simulating a queue using arrays or utilizing collections with similar behavior. Additionally, external libraries provide ready-to-use queue implementations for more advanced use cases. By leveraging these options, developers can effectively work with queues in Swift and achieve desired functionality.

We hope this article has provided you with a clear understanding of queues in Swift and how to approach implementing them. Happy coding!

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy