Review Swift codes (#1150)

* feat(swift): review for chapter_computational_complexity

* feat(swift): review for chapter_data_structure

* feat(swift): review for chapter_array_and_linkedlist

* feat(swift): review for chapter_stack_and_queue

* feat(swift): review for chapter_hashing

* feat(swift): review for chapter_tree

* feat(swift): add codes for heap article

* feat(swift): review for chapter_heap

* feat(swift): review for chapter_graph

* feat(swift): review for chapter_searching

* feat(swift): review for chapter_sorting

* feat(swift): review for chapter_divide_and_conquer

* feat(swift): review for chapter_backtracking

* feat(swift): review for chapter_dynamic_programming

* feat(swift): review for chapter_greedy

* feat(swift): review for utils

* feat(swift): update ci tool

* feat(swift): trailing closure

* feat(swift): array init

* feat(swift): map index
This commit is contained in:
nuomi1
2024-03-20 21:15:39 +08:00
committed by GitHub
parent 300a781fab
commit 7359a7cb4b
55 changed files with 293 additions and 224 deletions

View File

@@ -8,13 +8,13 @@
class ArrayDeque {
private var nums: [Int] //
private var front: Int //
private var queSize: Int //
private var _size: Int //
/* */
init(capacity: Int) {
nums = Array(repeating: 0, count: capacity)
front = 0
queSize = 0
_size = 0
}
/* */
@@ -24,7 +24,7 @@ class ArrayDeque {
/* */
func size() -> Int {
queSize
_size
}
/* */
@@ -51,7 +51,7 @@ class ArrayDeque {
front = index(i: front - 1)
// num
nums[front] = num
queSize += 1
_size += 1
}
/* */
@@ -64,7 +64,7 @@ class ArrayDeque {
let rear = index(i: front + size())
// num
nums[rear] = num
queSize += 1
_size += 1
}
/* */
@@ -72,14 +72,14 @@ class ArrayDeque {
let num = peekFirst()
//
front = index(i: front + 1)
queSize -= 1
_size -= 1
return num
}
/* */
func popLast() -> Int {
let num = peekLast()
queSize -= 1
_size -= 1
return num
}
@@ -104,11 +104,7 @@ class ArrayDeque {
/* */
func toArray() -> [Int] {
//
var res = Array(repeating: 0, count: size())
for (i, j) in sequence(first: (0, front), next: { $0 < self.size() - 1 ? ($0 + 1, $1 + 1) : nil }) {
res[i] = nums[index(i: j)]
}
return res
(front ..< front + size()).map { nums[index(i: $0)] }
}
}