TypeError no capturado: undefined no es una función javascript

Escribí la función "ordenar burbujas" para ordenar una lista de imágenes. No puedo entender por qué la función devuelve "Error de tipo no capturado: indefinido no es una función". ¿Alguien puede ayudarme?

$j(document).ready(function() { 
    var list = $j("dt").find("a").find("img");

    bubbleSort(list, list.size());    
});


function bubbleSort(a, size)
{
    do {
        var swapped = false;
        for (var i = 0; i < size - 1; i++) {
            var img = getAlt(a, i);
            var img2 = getAlt(a, i + 1);

            if (img > img2) {
                var temp = a[i].attr('src');
                a[i].attr('src') = a[i + 1].attr('src');
                a[i + 1].attr('src') = temp;
                swapped = true;
            }
        }
    } while (swapped); // <----- line error
}

function getAlt(list, pos) {
    var img = list[pos].attr("alt");
    img = img.split(' ');
    return img[3];
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta