分享下JavaScript的数组排序,及冒泡排序的分析思路
排序
定义一个数组
// var arr = [4, 7, 6, 12, 3, 102, 2];
// // 默认是升序
// // arr.sort().reverse();
// arr.sort(function (a, b) {
// if(a > b) {
// return 1;
// } else {
// return - 1;
// }
// });
// console.log(arr);
// 排序算法
// 冒泡排序
// var arr = [14, 12, 7, 5, 8];
分析:
1.1:[12, 14, 7, 5, 8]
1.2:[12, 7, 14, 5, 8]
1.3:[12, 7, 5, 14, 8]
1.4:[12, 7, 5, 8, 14]
2.1:[7, 12, 5, 8, 14]
2.2:[7, 5, 12, 8, 14]
2.3:[7, 5, 8, 12, 14]
3.1:[5, 7, 8, 12, 14]
3.2:[5, 7, 8, 12, 14]
4.1:[5, 7, 8, 12, 14]
*/
// 常见的数据结构
// 列表、二叉查找树、栈、队列、链表、图、字典(对象)、哈希
// 外层for循环确定比较的轮数
/*for(var i = 1; i<arr.length; i++) {
// 内层循环确定步数
for(var j = 0; j< arr.length - i; j++) {
// 如果当前值大于后面的值,则交换位置
if(arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}