首页 > 编程语言 > 详细

排序之快速排序实现(swift)

时间:2020-07-04 15:50:24      阅读:71      评论:0      收藏:0      [点我收藏+]
//
//  main.swift
//  Px_kuaiPai
//
//  Created by LongMa on 2020/7/4.
//  Copyright ? 2020 . All rights reserved.
//

import Foundation

print("Hello, World!")

func kp(arr : [Int]) ->  Array<Int>{
    var a = arr
    let len = arr.count
    
    var indexOfMinNum, temp : Int
    for i in 0..<(len - 1) {//eg:3个数,应循环2次
        indexOfMinNum = i
        
        //无序部分,查找最小值,记录下标。
        for j in (i+1)..<(len){//eg:3个数,最大小标为2。
            if a[j] < a[indexOfMinNum] {
                indexOfMinNum = j
            }
        }
        
        //交换无序部分0位值和最小值
        if i != indexOfMinNum {
            temp = a[i]
            a[i] = a[indexOfMinNum]
            a[indexOfMinNum] = temp
        }
    }
    return a
}

let lArr = [22, 6, 4, 5, 10, 11, 2, 1, 2, 1, 0]
let lA = kp(arr: lArr)
print(lA)

let lArr1 = [23,6,4,8,9,0,1,2,3,2,1]
let lA1 = kp(arr: lArr1)
print(lA1)

log:

Hello, World!
[0, 1, 1, 2, 2, 4, 5, 6, 10, 11, 22]
[0, 1, 1, 2, 2, 3, 4, 6, 8, 9, 23]
Program ended with exit code: 0

排序之快速排序实现(swift)

原文:https://www.cnblogs.com/Dast1/p/13231491.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!