Если вы заранее не гарантируете, что значение 0
завершает ваш буфер и не появляется в другом месте массива (как у вас со строкой с нулевым завершением), вы не можете проверить, что tab[i]
равно нулю, чтобы определить, что выдостигли конца массива.Ваша функция также принимает size
в качестве параметра;почему бы не использовать это?
РЕДАКТИРОВАТЬ: Кроме того, алгоритм сортировки не работает в O (n).Пузырьковая сортировка, которая выглядит как то, что вы пытаетесь реализовать, требует двух вложенных циклов.