Contenuto cancellato Contenuto aggiunto
|
|
=== [[C plus plus|C++]] ===
#include <algorithm>
template <classtypename Typecontainer> void bubbleSort(Typecontainer *&array, size_t length)
{
intcontainer::iterator i, j;
for(i = length - 1array.end(); i >!= 0array.begin(); i--i)
for(j = 0array.begin(); j <!= i ; j++j)
if(array[(*j]) > array[*(j+1]) /* compara gli elementi vicini */
{ std::swap(*j, *(j+1));
array[j] ^= array[j+1]; // Usa XOR per scambiare i valori più velocemente,
array[j+1] ^= array[j]; // ma solo quando sei sicuro
array[j] ^= array[j+1]; // di poterlo fare (dipende dal tipo di dati)
}
}
template<typename T> void bubble_sort(T *base, size_t n) {
T *p, *q, t;
|