专栏首页iOSer排序之选择排序实现(swift)

排序之选择排序实现(swift)

//
//  main.swift
// 
//
//  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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C#实现——十大排序算法之选择排序

    梁规晓
  • 7.4.2 选择排序之堆排序

    堆排序是一个树形选择排序方法,它的特点是:在排序过程中,将L[1...n]看成是一棵完全二叉树的顺序存储结构,

    week
  • 经典排序之 选择排序

    Author: bakari  Date: 2012.7.30 排序算法有很多种,每一种在不同的情况下都占有一席之地。关于排序算法我分“经典排序之”系列分别述之...

    猿大白
  • 排序之简单选择排序

      本篇博客是在伍迷兄的博客基础上进行的,其博客地址点击就可以进去,里面好博客很多,我的排序算法都来自于此;一些数据结构方面的概念我就不多阐述了,伍迷兄的博客中...

    青石路
  • Python实现选择排序

    选择排序首先从待排序列表中找到最小(大)的元素,存放到元素列表的起始位置(与起始位置进行交换),作为已排序序列,第一轮排序完成。然后,继续从未排序序列中找到最小...

    Python碎片公众号
  • 排序----选择排序

    SuperHeroes
  • [数据结构与算法] 排序算法之选择排序和堆排序

    选择排序(select sorting)也是一种简单的排序方法。它的基本思想是: 第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换, ...

    时间静止不是简史
  • 选择排序法--java实现

    每次指定一个i,然后用i后面的所有的数和当前第i个数比较,小的话则交换,i++。这样i从0到length-1,那么每一位都是包含i在内的“最小着”

    MickyInvQ
  • 排序算法之选择排序与冒泡排序

    选择排序与冒泡排序都是比较简单的办法,非常容易理解,但时间复杂度也都是O(N2)。

    dejavu1zz

扫码关注云+社区

领取腾讯云代金券