Kétirányú buborék rendezés
Kattintásra indul a rendezés.
void sort(int T[]){
int j;
int limit = T.length;
int st = -1;
while (st < limit) {
st++;
limit--;
boolean swapped = false;
for (j = st; j < limit; j++) {
if (T[j] > T[j + 1]) {
int tmp = T[j]; T[j] = T[j + 1]; T[j + 1] = tmp;
swapped = true;
}
}
if (!swapped) { return; }
else { swapped = false; }
for (j = limit; --j >= st;) {
if (T[j] > T[j + 1]) {
int tmp = T[j]; T[j] = T[j + 1]; T[j + 1] = tmp;
swapped = true;
}
}
if (!swapped) { return; }
}
}