mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 06:07:20 +08:00 
			
		
		
		
	refactor: use stride (#437)
This commit is contained in:
		@ -49,7 +49,7 @@ func quadratic(n: Int) -> Int {
 | 
				
			|||||||
func bubbleSort(nums: inout [Int]) -> Int {
 | 
					func bubbleSort(nums: inout [Int]) -> Int {
 | 
				
			||||||
    var count = 0 // 计数器
 | 
					    var count = 0 // 计数器
 | 
				
			||||||
    // 外循环:待排序元素数量为 n-1, n-2, ..., 1
 | 
					    // 外循环:待排序元素数量为 n-1, n-2, ..., 1
 | 
				
			||||||
    for i in sequence(first: nums.count - 1, next: { $0 > 0 + 1 ? $0 - 1 : nil }) {
 | 
					    for i in stride(from: nums.count - 1, to: 0, by: -1) {
 | 
				
			||||||
        // 内循环:冒泡操作
 | 
					        // 内循环:冒泡操作
 | 
				
			||||||
        for j in 0 ..< i {
 | 
					        for j in 0 ..< i {
 | 
				
			||||||
            if nums[j] > nums[j + 1] {
 | 
					            if nums[j] > nums[j + 1] {
 | 
				
			||||||
@ -112,7 +112,7 @@ func linearLogRecur(n: Double) -> Int {
 | 
				
			|||||||
        return 1
 | 
					        return 1
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    var count = linearLogRecur(n: n / 2) + linearLogRecur(n: n / 2)
 | 
					    var count = linearLogRecur(n: n / 2) + linearLogRecur(n: n / 2)
 | 
				
			||||||
    for _ in sequence(first: 0, next: { $0 < n - 1 ? $0 + 1 : nil }) {
 | 
					    for _ in stride(from: 0, to: n, by: 1) {
 | 
				
			||||||
        count += 1
 | 
					        count += 1
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return count
 | 
					    return count
 | 
				
			||||||
@ -149,7 +149,7 @@ enum TimeComplexity {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        count = quadratic(n: n)
 | 
					        count = quadratic(n: n)
 | 
				
			||||||
        print("平方阶的计算操作数量 = \(count)")
 | 
					        print("平方阶的计算操作数量 = \(count)")
 | 
				
			||||||
        var nums = Array(sequence(first: n, next: { $0 > 0 + 1 ? $0 - 1 : nil })) // [n,n-1,...,2,1]
 | 
					        var nums = Array(stride(from: n, to: 0, by: -1)) // [n,n-1,...,2,1]
 | 
				
			||||||
        count = bubbleSort(nums: &nums)
 | 
					        count = bubbleSort(nums: &nums)
 | 
				
			||||||
        print("平方阶(冒泡排序)的计算操作数量 = \(count)")
 | 
					        print("平方阶(冒泡排序)的计算操作数量 = \(count)")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user