交换数值 冒泡排序 数组排序

本文通过四个应用题深入讲解Swift编程语言的实用技巧。包括变量数值交换、阶乘求和、冒泡排序及选择排序算法的实现。通过具体示例,读者将掌握如何在Swift中操作数组和进行复杂的数学运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//应用题(一)(20分)
//编写Swift函数,能交换两个变量的数值
//例如: 变量a值为20,变量b值为30,调用函数后,a的值变为30,b
//的值变为20
func swap(a: inout Int , b:inout Int){
//交换数值
let temp = a
a = b
b = temp
}
var x = 20 , y = 30
swap(a:&x , b:&y)
//打印结果
print(x,y)

//应用题(二)(30分)
//编写一个函数,求1! + 2! + 3! + 4!的和
//提示:定义两个函数:<1>求整数阶乘结果的函数,<2>求等差数列阶乘相加的函数,使用嵌套调用函数实现
func getSum(number: Int) -> Int {
//求某个数阶乘的结果
func getFactorIal(num: Int) -> Int {
var sum = 1
for _ in 1…num {
sum += 1
}
return sum
}
var total = 0
for item in 1…number {
total += getFactorIal(num: item)
}
return total
}

print(getSum(number: 16))

//应用题(三)(20分)
//编写函数,实现对一个Int数组冒泡排序
func Han(){
var array: [Int] = [2,5,3,1,4,8,10,7,6,9]
for i in 0…<array.count {
for j in 0…

<array.count - (i+1) {
if array[j] > array[j+1] {
let temp = array[j]
array[j] = array[j+1]
array[j+1] = temp

        }
    }
}
for i in 0..<array.count {
    print(array[i])
}

}
Han()

//应用题(四)(20分)
//编写函数,实现对一个Int数组选择排序

//选择排序-升序
func minMax(array: inout [Int]) {

for i in (0..<array.count){
    var k = i
    for j in (k+1..<array.count){
        if(array[k] > array[j]){
            k = j
        }
    }
    if(k != i){
        let temp = array[k]
        array[k] = array[i]
        array[i] = temp
    }
}

print(array)

}

var array = [8, -6, 2, 109, 3, 71]
minMax(array: &array)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值