use a binary search for pathfinder_renderer::SortedVector
This commit is contained in:
parent
0662f6433f
commit
805066e65c
|
@ -29,15 +29,9 @@ where
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn push(&mut self, value: T) {
|
pub fn push(&mut self, value: T) {
|
||||||
self.array.push(value);
|
use std::cmp::Ordering;
|
||||||
let mut index = self.array.len() - 1;
|
let index = self.array.binary_search_by(|other| other.partial_cmp(&value).unwrap_or(Ordering::Less)).unwrap_or_else(|x| x);
|
||||||
while index > 0 {
|
self.array.insert(index, value);
|
||||||
index -= 1;
|
|
||||||
if self.array[index] <= self.array[index + 1] {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
self.array.swap(index, index + 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
|
|
Loading…
Reference in New Issue