算法学习
1.冒泡排序
它循环走过需要排序的元素,依次比较相邻的两个元素,如果顺序错误就交换,直至没有元素交换,完成排序。
// 利用JavaScript实现
// 推导: 例如 数组a [2,1,5,4,3]
// 比较相邻的元素,前一个比后一个大(或者前一个比后一个小)调换位置
// 每一对相邻的元素进行重复的工作,从开始对一直到结尾对,这步完成后,结尾为做大或最小的数. 然后不动了
// 针对除了最后一个元素重复进行上面的步骤
// 最高重复是你的数组长度-1
for (let i = 0; i < arr.length - 1; i++) { // 外层循环控制趟数
for (let j = 0; j < arr.length - 1 - i; j++) { // 内存循环控制比较次数
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
# 利用python实现
for i in range(len(l)-1):
for j in range(len(l) - 1 - i):
if l[j] > l[j+1]:
temp = l[j]
l[j] = l[j+1]
l[j + 1] = temp