     }
 }
 
+extension Stack: Sequence {
+    public func makeIterator() -> AnyIterator<T> {
+        var curr = self
+        return AnyIterator {
+            _ -> T? in
+            return curr.pop()
+        }
+    }
+}
 
 //QUEUE ARRAY
 struct Queue<T> {

    }
}


//HEAP
typealias Heap<T: Comparable> = PriorityQueue<T>

    return Date().timeIntervalSince(start)
}


func createRandomIntArray(_ n: Int)  -> [Int] {
    var array = Array<Int>()
    
