Sorting

function createArray(length, max) {
  var data = [];
  for (var i = 0; i < length; i++) {
    data[i] = Math.round(max * Math.random());
  }
  return data;
}
function swap (data, i, j) {
  var tmp = data[j];
  data[j] = data[i];
  data[i] = tmp;
}

Bubble sorting

function bubbleSort (data) {
  for (var i = 0; i < data.length; i++) {
    for (var j = 0; j < data.length - 1; j++) {
      if (data[j] > data[j+1]) {
        swap(data, j, j+1);
      }
    }
  }
}

var data = createArray(100, 1000);
bubbleSort(data);
data;

Complexity: O(n^2)

Insertion sorting

function insertionSort (data) {
  for (var i = 0; i < data.length; i++) {
    var j = i;
    while (j > 0 && data[i] < data[j-1]) {
      j--;
    }
    for (var k = i; k > j; k--) {
      swap(data, k, k-1);
    }
  }
}

var data = createArray(100, 1000);
insertionSort(data);
data;