算法学习

算法学习

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
原文地址:https://www.cnblogs.com/lddragon1/p/12064412.html