面试题总结

作者: 轩辕小羽 | 来源:发表于2017-05-24 13:08 被阅读75次

输入数字和字母混合的字符串,排序输出

    func sortStr(str:String) -> String  {
        let sortStr = str.characters.sorted()
        let text = sortStr.reduce("") { (a, c) -> String in
            return "\(a)" + "\(c)"
        }
        return text
    }

冒泡

for i in 0 ..< array.count {
    for j in 0 ..< array.count - 1 - i {
        if array[j] > array[j+1] {
            var  temp = array[j+1]
            array[j+1] = array[j]
            array[j] = temp
        }
    }
}

快排


//辅助空间快排
func quickSort(data:[Int])->[Int]{
        if data.count<=1 {
            return data
        }

        var left:[Int] = []
        var right:[Int] = []
        let pivot:Int = data[data.count-1]
        for index in 0..<data.count-1 {
            if data[index] < pivot {
                left.append(data[index])
            }else{
                right.append(data[index])
            }
        }

        var result = quickSort(data: left)
        result.append(pivot)
        let rightResult = quickSort(data: right)
        result.append(contentsOf: rightResult)
        return result
    }

// 经典快排
func partition( data:inout [Int],low:Int,high:Int) -> Int {

        let root = data[high]
        var index = low
        for i in low...high {
            if data[i] < root {
                if i != index {
                    swap(&data[i], &data[index])
                }
                index = index+1
            }
        }

        if high != index {
            swap(&data[high], &data[index])
        }
        return index
    }

    func quickSort(data:inout [Int],low:Int,high:Int) -> Void {
        if low > high {
            return
        }
        let sortIndex = partition(data: &data, low: low, high: high)
        quickSort(data: &data, low: low, high: sortIndex-1)
        quickSort(data: &data, low: sortIndex+1, high: high)
    }

相关文章

  • Java面试题汇总

    Java面试题总结 Java面试题总结一Java面试题总结二

  • iOS经典面试题总结--内存管理

    iOS经典面试题总结--内存管理 iOS经典面试题总结--内存管理

  • iOS RunLoop 总结以及相关面试题解答

    iOS RunLoop 总结以及相关面试题解答 iOS RunLoop 总结以及相关面试题解答

  • Paper Collection - InInterview

    ios 面试题 经典(比较全) 根据重点总结(总结的题还是比较多的,有答案) sunnyxx的面试题 很全的面试题目

  • JavaScript面试题整理(1)

    做面试题就是要做经典的面试题,通过这些具有代表性的面试题来学习与总结,从而掌握相同类型的题目。 对于面试题的总结与...

  • 2020年,精选大厂的iOS面试题总结(一)

    iOS面试题目录(一) 精选大厂的iOS面试题总结(一)精选大厂的iOS面试题总结(二) 1. iOS内存管理机制...

  • 面试题

    关注的面试题文集 Android面试题整理 Android工程师面试题大全 Android 面试题总结之Andro...

  • 面试题转载

    iOS面试了20几家总结出来的面试题iOS面试了20几家总结出来的面试题(二)

  • Handler面试题总结

    面试题总结 Handler是一个比较重要的东西,所以把网上发的Handler中的面试题总结了一下,这些面试题没问题...

  • java script 1

    1 史上最全的Javascript面试题总结 史上最全的Javascript面试题总结 1 未声明和未定义? 未声...

网友评论

    本文标题:面试题总结

    本文链接:https://www.haomeiwen.com/subject/txanxxtx.html