Sorting algorithms/Cocktail sort: Difference between revisions
Content added Content deleted
m (Bug fix) |
m (Minor edit) |
||
Line 545: | Line 545: | ||
if (end == begin) |
if (end == begin) |
||
return; |
return; |
||
bool swapped = true; |
|||
for (end -= size; swapped; ) { |
|||
⚫ | |||
for (char* p = begin; p < end; p += size) { |
for (char* p = begin; p < end; p += size) { |
||
char* q = p + size; |
char* q = p + size; |
||
Line 552: | Line 553: | ||
swap(p, q, size); |
swap(p, q, size); |
||
swapped = true; |
swapped = true; |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
|||
} |
} |
||
} |
} |
||
if (!swapped) |
if (!swapped) |
||
break; |
break; |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
} |
} |