zoukankan      html  css  js  c++  java
  • 算法中交换两个数据

     这两天搞服务器有点呆呆的。(⊙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 }

    知识要一点点积累总结,向大牛膜拜的同时,也要走路哦。掌握好基础,多思考,多总结。

    亲爱的你 中秋快乐!

  • 相关阅读:
    JVM(二)-运行时数据区
    JVM(一)-JVM入门
    java设计模式之观察者模式
    开散列表
    闭散列表
    VTWORAY 常用配置
    kubernetes 提示1 node(s) had taints that the pod didn't tolerate
    SOCKS5转PPTP VTWORAY配置文件与IPTables配置文件
    【Docker】多阶段构建
    【Docker】容器内存扩容
  • 原文地址:https://www.cnblogs.com/2010master/p/5858059.html
Copyright © 2011-2022 走看看