0

在合并排序的Rosettacode 页面上,javaScript 示例具有以下功能:

1 function merge(left,right,arr){
2    var a=0;
3    while(left.length&&right.length)
4       arr[a++]=right[0]<left[0]?right.shift():left.shift();
5    while(left.length)arr[a++]=left.shift();
6    while(right.length)arr[a++]=right.shift();
7 }

有人可以解释第 4 行发生了什么吗?

4

1 回答 1

0

arr得到排序。如果里面的第一个单元格left比里面的第一个单元格大,right则 ( ?) right.shift()- 这意味着里面的第一个单元格right被移除并返回(推到arr),否则(:),left移动。

于 2013-09-22T23:15:14.623 回答