if (numbers [i]> numbers [k]) {
, вероятно, должно быть
if (numbers [i]> numbers [i + 1]) {
k
вообще не используется.
for (i = 0;i <= count;i++){
, вероятно, должно быть
for (i = 0; i < count-1;i++){
, поскольку есть только элементы от 0 до count-1, и затем вы сравниваетек следующему.Имя для j
дерьмо.Сделайте логическое значение didSwap.А потом переосмыслите свою кодировку, может быть, это просто наоборот ...