美文网首页
Swift _ 冒泡排序 (2016-07-13)

Swift _ 冒泡排序 (2016-07-13)

作者: 欧币杰昔 | 来源:发表于2016-07-13 22:29 被阅读44次

冒泡排序:
原理不好解释,就是循环将当前数与下一个数比较大小,根据需要(升序或者降序)交换位置

//完成两个数的交换
func switchNum(inout num1:Double,inout num2:Double)
{
    num1 = num1 + num2
    num2 = num1 - num2
    num1 = num1 - num2
}


/**
 冒泡排序

 - parameter arr:    数组
 - parameter shunxu: 排序顺序(1为升序,2为降序)
 */
func maopao(inout arr:[Double],shunxu:Int)
{
    for var i:Int = 0 ; i < arr.count - 1 ; i++
    {
        for var j:Int = 0;j < arr.count - i - 1; j++
        {
            if shunxu == 1
            {
                if arr[j] > arr[j+1]
                {
                    switchNum(&arr[j], num2: &arr[j+1])
                }
            }
            else
            {
                if arr[j] < arr[j+1]
                {
                    switchNum(&arr[j], num2: &arr[j+1])
                }
            }
        
        }
    }
}
//给个数组,进行排序
var arr:[Double] = [9,41,2,8,63,45,14]
maopao(&arr, shunxu: 1) //升序
print(arr)
maopao(&arr, shunxu: 2) //降序
print(arr)

输出:
[2.0, 8.0, 9.0, 14.0, 41.0, 45.0, 63.0]
[63.0, 45.0, 41.0, 14.0, 9.0, 8.0, 2.0]
Program ended with exit code: 0

相关文章

  • Swift _ 冒泡排序 (2016-07-13)

    冒泡排序:原理不好解释,就是循环将当前数与下一个数比较大小,根据需要(升序或者降序)交换位置 输出:[2.0, 8...

  • 常用的两种排序-冒泡、选择

    Swift版 冒泡排序 选择排序 OC版 冒泡排序 选择排序

  • swift中几种排序算法原理的UI动态实现

    swift中的排序算法总结 冒泡排序 选择排序 快速排序 插入排序 堆排序 归并排序 系统排序 我们将这几种数组排...

  • swift 冒泡排序

    冒泡排序原理 1.对需要排序的数据,俩俩进行比较,小的放前面,大的放后面 2.依次对每一对相邻的数据作步骤1的工作...

  • Swift3.0 冒泡排序

    冒泡排序,就是挨个遍历然后比较,发现不符合排序规则,进行交换,最终达到排序结果。BubbleSort.swift如...

  • Swift--算法排序

    本文主要记录Swift中常用到的七种算法: 一、冒泡排序

  • Aha! Algorithms - Bubble Sort

    《啊哈!算法》第 1 章第 2 节,冒泡排序的 Swift 实现 问题 给学生成绩排序,打印排序后的名字(和成绩)...

  • 算法-冒泡排序

    算 法:冒泡排序算法时间复杂度: 冒泡排序算法概述 冒泡排序伪代码 冒泡排序实现 冒泡排序算法概述 冒泡排...

  • 算法

    冒泡排序、选择排序 swift 写法 OC 写法 斐波那契算法【后一项等于前两项之和】

  • 冒泡排序Swift 实现

网友评论

      本文标题:Swift _ 冒泡排序 (2016-07-13)

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