| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of dart.core; | 5 part of dart.collection; |
| 6 | |
| 7 // TODO(ajohnsen): Remove once dart2js intercepters can work without it. | |
| 8 /** | |
| 9 * WARNING: This method is temporary and will go away soon. | |
| 10 */ | |
| 11 void coreSort(List l, int compare(a, b)) => _Sort.sort(l, compare); | |
| 12 | 6 |
| 13 /** | 7 /** |
| 14 * Dual-Pivot Quicksort algorithm. | 8 * Dual-Pivot Quicksort algorithm. |
| 15 * | 9 * |
| 16 * This class implements the dual-pivot quicksort algorithm as presented in | 10 * This class implements the dual-pivot quicksort algorithm as presented in |
| 17 * Vladimir Yaroslavskiy's paper. | 11 * Vladimir Yaroslavskiy's paper. |
| 18 * | 12 * |
| 19 * Some improvements have been copied from Android's implementation. | 13 * Some improvements have been copied from Android's implementation. |
| 20 */ | 14 */ |
| 21 class _Sort { | 15 class _Sort { |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 } else { | 335 } else { |
| 342 // The second partition looks as follows: | 336 // The second partition looks as follows: |
| 343 // [ * | >= pivot1 && <= pivot2 | * ] | 337 // [ * | >= pivot1 && <= pivot2 | * ] |
| 344 // ^ ^ | 338 // ^ ^ |
| 345 // less great | 339 // less great |
| 346 // Simply sort it by recursive descent. | 340 // Simply sort it by recursive descent. |
| 347 _doSort(a, less, great, compare); | 341 _doSort(a, less, great, compare); |
| 348 } | 342 } |
| 349 } | 343 } |
| 350 } | 344 } |
| OLD | NEW |