1.- Вы отправляете копии исходного массива в рекурсию, а не только части исходного массива.2.- Несмотря на то, что вы будете отправлять части исходного массива, алгоритм стоходной сортировки псевдокода не работает с частями массива, только индексы.
def StoogeSort(L, i, j):
if L[i] > L[j]: #<-- always switching elements (not just for n=2)
L[j],L[i]=L[i],L[j]
if (j - i + 1) > 2:
t = int((j - i + 1) / 3)
StoogeSort(L, i, j-t) #<-- here, sending indexes.
StoogeSort(L, i+t,j)
StoogeSort(L, i, j-t)
return L
>>> L = [7,8,9,5,6,4,2,1]
>>> StoogeSort(L, 0, len(L)-1)
[1, 2, 4, 5, 6, 7, 8, 9]