使用了两层循环,外层循环用于控制排序的轮数,内层循环用于比较相邻元素并进行交换。在每一轮的比较中,如果前一个元素大于后一个元素,则进行交换。通过多轮的比较和交换,实现将最大的元素逐渐“冒泡”到数组的末尾,最终实现整个数组的排序。
冒泡排序的时间复杂度为O(n^2),其中n是待排序数组的长度。
冒泡排序的基本思想是通过多次比较和交换,将最大的元素逐渐“冒泡”到数组的末尾。在每一轮的比较中,如果前一个元素大于后一个元素,则进行交换。通过多轮的比较和交换,最终实现整个数组的排序。
在最坏情况下,冒泡排序需要进行n-1轮的比较,每轮比较需要进行n-i-1次的元素交换(其中i是当前轮数),总共需要进行的比较和交换次数为(n-1) + (n-2) + ... + 1 = n*(n-1)/2,忽略系数后约为n^2/2。因此,冒泡排序的时间复杂度为O(n^2)。
除了时间复杂度外,冒泡排序的空间复杂度为O(1),即不需要额外的空间存储数据。冒泡排序是一种稳定的排序算法,即对于值相同的元素,排序后它们的相对顺序保持不变。
在示例代码中,使用了一个测试数组 `[64, 34, 25, 12, 22, 11, 90]` 进行排序,并打印出排序后的数组。运行代码后,会输出 `[11, 12, 22, 25, 34, 64, 90]`,表示数组已经按照从小到大的顺序进行了排序。