Problem z loop

0

I wybaczcie ,że zadaje takie pytanie , ale jestem w Javie początkującym. Ale chodzi mi o a[j] = ithElement; Jest to instrukcja która jest wykonywana po inner loop. Właśnie czy ona nie powinna być w klamrowych nawiasach podpiętych w pętli i być wykonywana w samej pętli ? Jeżeli instrukcja jest po nawiasach to jest uznana za instrukcje zawsze wykonywaną po pętli.
Mam taki sam kod w Pythonie. I robię tak jak myślę i wszystko działa. O co kaman ?


```class Ideone
{
	public static <C extends Comparable<C>> void insertionSort(C[] a) {
		for (int i = 1; i < a.length; i++) {
		    C ithElement = a[i];
    		int j = i;
    		for (j = i; j > 0 && ithElement.compareTo(a[j - 1]) < 0; --j) {
      			a[j] = a[j - 1];
    		}
    		a[j] = ithElement;
		}
	}
	
	public static void main (String[] args) throws java.lang.Exception
	{
		Integer[] a = {3, 2, 1};
		Collections.shuffle(Arrays.asList(a));
		System.out.println(Arrays.toString(a));
		insertionSort(a);
		System.out.println(Arrays.toString(a));
	}
}



```python


```def insertion(a):
    n = len(a)
    i = 1
    while i < n:
        ithElement  = a[i]
        j = i
        while j > 0 and less(a[j], a[j-1]):
            a[j] = a[j-1]
            j -= 1
            a[j] = ithElement 
        i += 1
    return a
0

Tutaj masz przecież pętlę w pętli, instrukcja o której piszesz znajduje się w zewnętrznej pętli i wykona się w niej za każdym razem po wszystkich wykonaniach pętli wewnętrznej.

0

Dobra czaje już kod. Po prostu go dokładnie nie doczytałem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1