算法中交换两个数据
Posted !master
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法中交换两个数据相关的知识,希望对你有一定的参考价值。
这两天搞服务器有点呆呆的。(⊙o⊙)(⊙o⊙)
在这里用冒泡排序demo 来说明。
第一种 最low的一种 借助中间变量 line 5 6 7
1 function bubble(arr) { 2 for (var i = 0, length = arr.length; i < length; i++) { 3 for (var j = 0; j < length -1 -i; j++) { 4 if (arr[j] > arr[j+1]) { 5 var temp = arr[j]; 6 arr[j] = arr[j+1]; 7 arr[j+1] = temp; 8 } 9 } 10 } 11 return arr; 12 }
第二种 不借助中间变量 line 5 6 7
1 function bubble(arr) { 2 for (var i = 0, length = arr.length; i < length; i++) { 3 for (var j = 0; j < length -1 -i; j++) { 4 if (arr[j] > arr[j+1]) { 5 arr[j] = arr[j] + arr[j+1]; 6 arr[j+1] = arr[j] - arr[j+1]; 7 arr[j] = arr[j] - arr[j+1]; 8 } 9 } 10 } 11 return arr; 12 }
第三种 借助数组 推荐 line 5
1 function bubble(arr) { 2 for (var i = 0, length = arr.length; i < length; i++) { 3 for (var j = 0; j < length -1 -i; j++) { 4 if (arr[j] > arr[j+1]) { 5 arr[j] = [arr[j+1], arr[j+1] = arr[j]][0]; 6 } 7 } 8 } 9 return arr; 10 }
知识要一点点积累总结,向大牛膜拜的同时,也要走路哦。掌握好基础,多思考,多总结。
亲爱的你 中秋快乐!
以上是关于算法中交换两个数据的主要内容,如果未能解决你的问题,请参考以下文章