일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 안드로이드 웹뷰
- 하이퍼레저 패브릭
- 파이썬 강좌
- Play2 로 웹 개발
- CORDA
- 블록체인
- 엔터프라이즈 블록체인
- 하이브리드앱
- play 강좌
- hyperledger fabric
- 파이썬
- akka 강좌
- 파이썬 머신러닝
- Play2
- 파이썬 동시성
- 스칼라 동시성
- 스칼라 강좌
- 스칼라
- Golang
- play2 강좌
- Actor
- 파이썬 데이터분석
- 그라파나
- Adapter 패턴
- 스위프트
- 이더리움
- 플레이프레임워크
- 주키퍼
- Hyperledger fabric gossip protocol
- Akka
- Today
- Total
HAMA 블로그
[Swift 3.0] Queue 본문
import Foundation
public struct Queue<T> {
private var list = LinkedList<T>()
public var isEmpty: Bool {
return list.isEmpty
}
// 뒤에 삽입하기
public mutating func enqueue(_ element: T) {
list.append(value: element)
}
// 앞에서 가져오기 (가져오고 삭제)
public mutating func dequeue() -> T? {
guard !list.isEmpty, let element = list.first else { return nil }
list.remove(node: element)
return element.value
}
// 앞에서 가져오기 (가져오고 유지)
public func peek() -> T? {
return list.first?.value
}
}
extension Queue: CustomStringConvertible {
public var description: String {
return list.description
}
}
'아이폰 (IOS) ' 카테고리의 다른 글
[Swift 3.0] Background Mode 이해하기 (1) | 2016.12.01 |
---|---|
[Swift 3.0] LinkedList (0) | 2016.11.24 |
[Swift 3 ] 가장 쉬운 소켓 (TCP) 통신 방법을 찾고 계신가요? (2) | 2016.11.24 |
iOS 개발에서 스토리보드 란 무엇인가? (0) | 2016.11.22 |
iOS 와 안드로이드에서의 병렬 쓰레드 개발 (AsyncTask 와 GCD) (0) | 2016.11.21 |