在用于合并排序的rosettacode page上,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 }有人能解释一下第四行发生了什么吗?
发布于 2013-09-23 07:15:15
对arr进行排序。如果left内的第一个单元格大于right内的第一个单元格,则(?) right.shift() -这意味着right内的第一个单元格将被移除并返回(推送到arr),否则(:),left将移位。
https://stackoverflow.com/questions/18949689
复制相似问题