按两个标准对数组进行排序

时间:2015-04-17 19:03:08

标签: arrays sorting

假设我们有一个数组数组,其中每个内部数组包含两个整数:

[[65, 100], [70, 150], [56, 90], [75, 190], [60, 95], [68, 110]]

我希望能够以这样的方式对这些数组进行排序,其中数组中的值小于它之后的数组。我基本上想要按两个标准排序,而不是一个。以下是一些示例数据:

Input: [[65, 100], [70, 150], [56, 90], [75, 190], [60, 95], [68, 110]]
Output: [[56, 90], [60, 95], [65, 100], [68, 110], [70, 150], [75, 190]]

额外信用:

如何调整此版本的选择排序以使用两个条件对此数据集进行排序?

选择排序

function selectionSort(arr) {
  for (var i = 0;i < arr.length;i++) {
    var minIndex = i;
    for (var k = i;k < arr.length;k++) {
      if (arr[minIndex] > arr[k]) {
        minIndex = k;
      }
    }
    swap(arr, i, minIndex);
  }
  return arr;
}

function swap(arr, i, k) {
  var temp = arr[i];
  arr[i] = arr[k];
  arr[k] = temp;
}

0 个答案:

没有答案