冒泡排序
for (var i=0; i<arr.length-1; i++) {
// 走几遍(-1是因为 最后一个元素没必要再比较了)
for (var j=0; j<arr.length-i-1; j++) {
//(-i 每一次都是把最大值放在数组末尾,所以没必要进行比较)
//(-1 防止越界)
if (arr[j] > arr[j+1]) {
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
冒泡排序作为计算机各种语言的最基本排序方式,是各公司笔试题中最爱考的题,需要同学们掌握原理。
深浅拷贝
区分深浅拷贝前要首先理解基本数据类型和引用数据类型
基本数据类型和引用数据类型的区别:
基本数据类型的值在栈区
引用数据类型的值在堆区
//栈区
var a = 1;
var b = a;
b = 10;
console.log(a);
//堆区
var arr1 = [1,2,3,4,5];
var arr2 = arr1;
arr2[0] = 10;
console.log(arr1[0]);
重点:
深浅拷贝
浅拷贝:拷贝了地址
深拷贝:拷贝了内容