冒泡排序
冒泡排序
(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
它重复的访问需要排序的元素列,并依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。以下是图片详解:
Python代码
存在列表:[5, 0, 1, 6, 3, 2, 9, 8, 7, 10, 4, 11]
# 冒泡排序
list1 = [5, 0, 1, 6, 3, 2, 9, 8, 7, 10, 4, 11]
def bubble_sort(sort):
# 遍历列表
for l in range(length := len(sort)):
# 遍历比较前后两个元素
for s in range(length):
# 若排序错误,则进行交换
if s + 1 < length and sort[s] > sort[s + 1]:
sort[s], sort[s + 1] = sort[s + 1], sort[s]
return sort
print(bubble_sort(list1))
返回结果:
TypeScript代码
存在列表:[5, 0, 1, 6, 3, 2, 9, 8, 7, 10, 4, 11]
// 冒泡排序
let list1 = [5, 0, 1, 6, 3, 2, 9, 8, 7, 10, 4, 11]
function bubbleSort(sort: number[]) {
let length = sort.length
// 遍历列表
for (let num: number = 0; num < length; num++) {
// 遍历比较前后两个元素
for (let value: number = 0; value < length; value++) {
// 若排序错误,则进行交换
if (value + 1 < length && sort[value] > sort[value + 1]) {
let val = sort[value]
sort[value] = sort[value + 1]
sort[value + 1] = val
}
}
}
return sort
}
console.log(bubbleSort(list1))
返回结果:
参考:冒泡排序图片参考