深圳市伙伴行网络科技有限公司(单题)
题型 | 难易度 | 出现频率 | 浏览 | 评论 |
---|---|---|---|---|
问答题 | 25 | 0 |
试题信息收集不易,转发请带上出处,不甚感谢!如果您对任何编程问题还有疑问,欢迎点击下方按钮向老师提问!
问答题
- 使用JavaScript将一个无序的数组改变成有序(不能使用sort函数,并预估可能出现问题并解决)。(如:[1,5,3,4,2]=>[1,2,3,4,5])
可以使用冒泡排序的方式,写了一个函数,代码如下
function bubbleSort (arr) {
for (var i = 0; i < arr.length-1; i++) {
for (var j = 0; j < arr.length-1-i; j++) {
if (arr[j] > arr[j+1]) {
/* 设置第三方变量来用于数据交换,且这个变量放在循环的外面性能要好
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
*/
// 利用加法来实现两个数据的交换
// arr[j] = arr[j] + arr[j+1];
// arr[j+1] = arr[j] - arr[j+1];
// arr[j] = arr[j] - arr[j+1];
// 利用位运算实现两个数据的交换
arr[j] = arr[j]^arr[j+1];
arr[j+1] = arr[j]^arr[j+1];
arr[j] = arr[j]^arr[j+1];
}
};
};
return arr;
}