简单
技术面试0 次浏览

在微软的一些数据处理业务中,我们经常会遇到需要对数组进行排序的情况。请实现一个简单的冒泡排序算法,对给定的整数数组进行升序排序。

微软中国算法工程师
算法排序冒泡排序

答题要点

推荐的答题框架:可采用直接实现算法的方式,先明确算法的核心逻辑,再逐步编写代码。关键要点如下:1. 明确冒泡排序的基本思想,即多次比较相邻元素,将较大元素交换到右侧。2. 确定外层循环次数,为数组长度减 1。3. 内层循环进行相邻元素比较和交换。4. 注意内层循环的终止条件,避免越界。示例话术:首先,我们知道冒泡排序是通过多次比较相邻元素来排序的。外层循环控制排序的轮数,一共需要进行数组长度减 1 轮。在内层循环中,我们比较相邻元素,如果前一个元素大于后一个元素,就交换它们的位置。这样经过多轮比较,数组就会按升序排列。以下是实现代码: python arr = [5, 3, 8, 4, 2] for i in range(len(arr) - 1): for j in range(len(arr) - i - 1): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] print(arr)