You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中如何将可变列表作为函数参数实现冒泡排序

Kotlin 冒泡排序函数实现指导

函数参数语法说明

在Kotlin中,接收可变列表作为参数的函数定义格式如下:

fun bubbleSort(inputList: MutableList<Int>): MutableList<Int> {
    // 排序逻辑写在这里
}

其中:

  • inputList: MutableList<Int> 表示参数是一个存储整数的可变列表
  • : MutableList<Int> 表示函数返回一个排序后的可变整数列表

完整实现代码(放在main函数之后)

因为可变列表是引用传递,直接修改会改变原列表,所以建议先复制一份原列表再排序,避免影响原始数据:

fun bubbleSort(inputList: MutableList<Int>): MutableList<Int> {
    // 复制原列表,避免修改传入的原始数据
    val sortedList = inputList.toMutableList()
    val size = sortedList.size

    // 外层循环:控制排序轮数,共需size-1轮
    for (i in 0 until size - 1) {
        // 内层循环:每轮比较到未排序的最后一个元素
        for (j in 0 until size - 1 - i) {
            // 前一个元素大于后一个则交换
            if (sortedList[j] > sortedList[j + 1]) {
                // Kotlin中交换元素的基础写法
                val temp = sortedList[j]
                sortedList[j] = sortedList[j + 1]
                sortedList[j + 1] = temp
            }
        }
    }
    return sortedList
}

关键细节说明

  • 复制列表:使用toMutableList()创建原列表的副本,这样排序操作不会影响main函数中最初创建的list
  • 循环范围:0 until size - 1 等价于0..size-2,避免数组越界
  • 交换简化:也可以用Kotlin解构语法简化交换逻辑:sortedList[j] = sortedList[j+1].also { sortedList[j+1] = sortedList[j] }

内容的提问来源于stack exchange,提问作者Locu_St

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:10:26