气泡排序法是,从第一个元素开始,和相邻数字比大小,若有需要就交换位置。因此也可称为交换排序法。它的时间复杂度是 O(n^2)。
( 图片来源 wiki )
使用哪种资料结构:Array
arr <- an unsorted array of integers
let len be the length of arr
for i (len-1 to 1) do
for j (0 to i-1) do
if (arr[j]>arr[j+1]) then
swap(arr, j, j+1)
end if
end for
end for
func swap(arr, leftIndex, rightIndex):
temp = arr[leftIndex]
arr[leftIndex] = arr[rightIndex]
arr[rightIndex] = temp
end func
debugger
function swap(arr, leftIndex, rightIndex) {
temp = arr[leftIndex]
arr[leftIndex] = arr[rightIndex]
arr[rightIndex] = temp
}
function bubbleSort(arr) {
for (let i = arr.length-1; i >= 1; i--) { // 已排序元素的控制器
console.log(i)
for (let j = 0; j <= i-1; j++) {
if (arr[j] > arr[j+1]) {
swap(arr, j, j+1)
}
console.log(arr)
}
}
}
bubbleSort([8, 9, 2, 5, 1])
<<: 用资料结构看 evernote - 修改前 - DAY 10
D29. C++字串 C++ string的特别用法 str.size():字串长度。 str.em...
https://finchkweb.substack.com/p/finch-2021-hd-ful...
CubeIDE简介 本文会使用STM32CubeIDE来当作开发平台,他可以自动的帮你把脚位的配置生...
这篇会讲解怎麽直接用 jUnit 来测试 parser 和 Android 环境的 parser ,...
鬼门关前走一遭生死一瞬间的一周 事情是这样的,由於一个月前的我刚进入战斗营,对物件导向的概念还是非常...