Sorting algorithms/Merge sort: Difference between revisions

Line 6,363:
let (mut i, mut j) = (0, a.len());
for k in 0..b.len() {
if i < a.len() && (j >= b.len() || a[i] <= b[j]) {
b[k] = a[i];
i += 1;
if i == a.len() {
break;
}
} else {
b[k] = b[j];
j += 1;
if j == b.len() {
copy(&a[i..a.len()], &mut b[k + 1..]);
break;
}
}
}
21

edits