diff --git a/codes/swift/chapter_stack_and_queue/array_queue.swift b/codes/swift/chapter_stack_and_queue/array_queue.swift index 654be369c..da5a75087 100644 --- a/codes/swift/chapter_stack_and_queue/array_queue.swift +++ b/codes/swift/chapter_stack_and_queue/array_queue.swift @@ -38,10 +38,10 @@ class ArrayQueue { } // 计算尾指针,指向队尾索引 + 1 // 通过取余操作,实现 rear 越过数组尾部后回到头部 - int rear = (front + queSize) % capacity(); + let rear = (front + queSize) % capacity() // 尾结点后添加 num - nums[rear] = num; - queSize++; + nums[rear] = num + queSize += 1 } /* 出队 */ @@ -49,9 +49,9 @@ class ArrayQueue { func poll() -> Int { let num = peek() // 队首指针向后移动一位,若越过尾部则返回到数组头部 - front = (front + 1) % capacity(); - queSize--; - return num; + front = (front + 1) % capacity() + queSize -= 1 + return num } /* 访问队首元素 */ @@ -66,7 +66,7 @@ class ArrayQueue { func toArray() -> [Int] { // 仅转换有效长度范围内的列表元素 var res = Array(repeating: 0, count: queSize) - for (i, j) in sequence(first: (0, front), next: { $0 < queSize - 1 ? ($0 + 1, $1 + 1) : nil }) { + for (i, j) in sequence(first: (0, front), next: { $0 < self.queSize - 1 ? ($0 + 1, $1 + 1) : nil }) { res[i] = nums[j % capacity()] } return res diff --git a/docs/chapter_stack_and_queue/queue.md b/docs/chapter_stack_and_queue/queue.md index ca3ed24ad..9be40d978 100644 --- a/docs/chapter_stack_and_queue/queue.md +++ b/docs/chapter_stack_and_queue/queue.md @@ -1227,10 +1227,10 @@ comments: true } // 计算尾指针,指向队尾索引 + 1 // 通过取余操作,实现 rear 越过数组尾部后回到头部 - int rear = (front + queSize) % capacity(); + let rear = (front + queSize) % capacity() // 尾结点后添加 num - nums[rear] = num; - queSize++; + nums[rear] = num + queSize += 1 } /* 出队 */ @@ -1238,9 +1238,9 @@ comments: true func poll() -> Int { let num = peek() // 队首指针向后移动一位,若越过尾部则返回到数组头部 - front = (front + 1) % capacity(); - queSize--; - return num; + front = (front + 1) % capacity() + queSize -= 1 + return num } /* 访问队首元素 */