귀속 프레젠테이션 (swift)
//: Playground - noun: a place where people can play
import UIKit
var str = "Hello, playground"
/// sum
func sum(array: Array) -> Int {
if array.count == 0 {
return 0;
}
var arrayM = array
let first = arrayM.removeFirst()
return first + sum(array: arrayM)
}
let total = sum(array: [2, 4, 6, 8])
/// count
func findTotalCount(array: Array) -> Int {
if array.count == 1 {
return 1;
}
var count: Int = 0
var arrayM = array
arrayM.removeFirst()
count += 1
return count + findTotalCount(array: arrayM)
}
let totalCount = findTotalCount(array: [2, 4, 6, 8])
/// maximum
func findMaximum(array: Array, max: Int) -> Int {
if array.count == 0 {
return max;
}
var arrayM = array
var m = max
let first = arrayM.removeFirst()
m = first > max ? first : max
return findMaximum(array: arrayM, max: m)
}
let max = findMaximum(array: [2, 4, 6, 8, 3], max: 0)
/// quick sort
func quickSort(array: Array) -> Array {
if array.count < 2 {
return array
}
let pivot = array[0]
var leftArray = Array()
var rightArray = Array()
for i in 1...array.count - 1 {
let item = array[i]
if item <= pivot {
leftArray.append(item)
} else {
rightArray.append(item)
}
}
var result = Array()
result.append(contentsOf: quickSort(array: leftArray))
result.append(pivot)
result.append(contentsOf: quickSort(array: rightArray))
return result
}
let qs = quickSort(array: [5, 2, 7, 10, 30, 200, 156])
/// quick sort in best-case
func quickSortInBestCase(array: Array) -> Array {
if array.count < 2 {
return array
}
let middleIndex = array.count / 2
let pivot = array[middleIndex]
var leftArray = Array()
var rightArray = Array()
for i in 0...array.count - 1 {
let item = array[i]
if item < pivot {
leftArray.append(item)
} else if item > pivot {
rightArray.append(item)
}
}
var result = Array()
result.append(contentsOf: quickSort(array: leftArray))
result.append(pivot)
result.append(contentsOf: quickSort(array: rightArray))
return result
}
let qsInBestCase = quickSortInBestCase(array: [5, 2, 7, 10, 30, 200, 156])
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.