restructure and add ipi texs

This commit is contained in:
2019-11-06 18:24:04 +01:00
parent e21da561fc
commit 8fd8d2a485
155 changed files with 129 additions and 0 deletions
@@ -0,0 +1,30 @@
template <class C>
int qs_partition (C& a, int l, int r, int q) {
std::swap(a[q],a[r]);
q=r; // Pivot ist jetzt ganz rechts
int i=l-1, j=r;
while (i<j) {
i=i+1; while (i<j && a[i]<=a[q]) i=i+1;
j=j-1; while (i<j && a[j]>=a[q]) j=j-1;
if (i<j)
std::swap(a[i],a[j]);
else
std::swap(a[i],a[q]);
}
return i; // endgueltige Position des Pivot
}
template <class C>
void qs_rec (C& a, int l, int r) {
if (l<r) {
int i=qs_partition(a,l,r,r);
qs_rec(a,l,i-1);
qs_rec(a,i+1,r);
}
}
template <class C>
void quicksort (C& a) {
qs_rec(a,0,a.size()-1);
}