修改笔误
This commit is contained in:
@@ -514,7 +514,6 @@ namespace TinySTL{
|
|||||||
}
|
}
|
||||||
template<class RandomIterator, class BinaryPredicate>
|
template<class RandomIterator, class BinaryPredicate>
|
||||||
void sort(RandomIterator first, RandomIterator last, BinaryPredicate pred){
|
void sort(RandomIterator first, RandomIterator last, BinaryPredicate pred){
|
||||||
static int n = 1;
|
|
||||||
if (first >= last || first + 1 == last)
|
if (first >= last || first + 1 == last)
|
||||||
return;
|
return;
|
||||||
if (last - first <= 20)//<2F><><EFBFBD>䳤<EFBFBD><E4B3A4>С<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>20<32>IJ<EFBFBD><C4B2><EFBFBD>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if (last - first <= 20)//<2F><><EFBFBD>䳤<EFBFBD><E4B3A4>С<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>20<32>IJ<EFBFBD><C4B2><EFBFBD>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -522,15 +521,15 @@ namespace TinySTL{
|
|||||||
auto mid = mid3(first, last - 1, pred);
|
auto mid = mid3(first, last - 1, pred);
|
||||||
auto p1 = first, p2 = last - 2;
|
auto p1 = first, p2 = last - 2;
|
||||||
while (p1 < p2){
|
while (p1 < p2){
|
||||||
while (pred(*p1, mid) && p1 < p2) ++p1;
|
while (pred(*p1, mid) && (p1 < p2)) ++p1;
|
||||||
while (!pred(*p2, mid) && p1 < p2) --p2;
|
while (!pred(*p2, mid) && (p1 < p2)) --p2;
|
||||||
if (p1 < p2){
|
if (p1 < p2){
|
||||||
swap(*p1, *p2);
|
swap(*p1, *p2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
swap(*p1, *(last - 2));//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>mid item<65><6D><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
swap(*p1, *(last - 2));//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>mid item<65><6D><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||||
sort(first, p1);
|
sort(first, p1, pred);
|
||||||
sort(p1 + 1, last);
|
sort(p1 + 1, last, pred);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user