Array.prototype.move_to = function(){
  // rota los elementos a la derecha
  if(arguments[0] == "right"){
    a = this.length - 1
    b = 0
  }
  // rota los elementos a la izquierda
  else if(arguments[0] == "left"){
    a = 0
    b = this.length - 1
  }
  // mueve un elemento a una posición
  else{
    a = arguments[0]
    b = arguments[1]
  }
  a = a >= this.length ? this.length - 1 : a < 0 ? 0: a;
  b = b >= this.length ? this.length - 1 : b < 0 ? 0: b;

  var element_move = this[a]
  if(a < b){
    for(var ctr = a; ctr < b; ctr++){
          this[ctr] = this[ctr+1]
     }
  }
  if(a > b){
     for(var ctr = a; ctr > b; ctr--){
           this[ctr] = this[ctr-1]
     }
  }
  this[b] = element_move


}
/* mueve los elementos aleatorimente.
  la Sintaxis - nombre_del_array.random_array() */

Array.prototype.random_array = function(){
var ctr = 0
while(ctr < this.length){
    var a = Math.floor(this.length* Math.random())
    var b = Math.floor(this.length* Math.random())
    this.move_to(a,b)
    ctr++
  }

}
//  FUNCIONES PARA EL MÉTODO SORT()

// Esta función ordena los números de menor a mayor
/* Solo es valida para array donde todos sus valores
son numericos */
//Sintaxis - nombre_array.sort(numeric_sort_min)
function numeric_sort_min(element1, element2){
  return (element1 - element2)

}

// Esta función ordena los números de mayor a menor
/* Solo es valida para array donde todos sus valores
son numericos */
//Sintaxis - nombre_array.sort(numeric_sort_max)
function numeric_sort_max(element1, element2){
  return (element2 - element1)

}
// Ordena alfábeticamente pero en sentido inverso
//Sintaxis - nombre_array.sort(reverse_alpha_sort)
function reverse_alpha_sort(element1,element2){
  if(element1 > element2){
    return -1
  }
  else if(element1 < element2){
    return 1
  }
  else{
    return 0
  }

}

