<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">class Tablica&lt;T&gt; {
    @SuppressWarnings("unchecked")
    Tablica(int rozmiar) {
        tab = (T[]) new Object[rozmiar];
    }
    
    T get(int i) { return tab[i]; }

    void put(int i,T co) { tab[i]=co; }

    int size() { return tab.length; }

    void sortuj(PorĂłwnywacz&lt;T&gt; por) {
        int n=this.size();
        for(int i=1;i&lt;n;i++) {
            int j=i;
            while(j&gt;0 &amp;&amp; !por.por(get(j-1),get(j))) {
                T tmp=get(j-1);
                put(j-1,get(j));
                put(j,tmp);
                j--;
            }
        }
    }

    private T[] tab;
}

interface PorĂłwnywacz&lt;T&gt; { public boolean por(T a,T b); }

class Por1 implements PorĂłwnywacz&lt;Integer&gt; {
    public boolean por(Integer a,Integer b) {
        return false;
    }
}

class Main {
    public static void main(String args[]) {
        Tablica&lt;Integer&gt; t=new Tablica&lt;Integer&gt;(3);
        t.put(0,2);
        t.put(1,3);
        t.put(2,1);
        System.out.println("A:");
        for(int i=0;i&lt;t.size();i++) System.out.println(t.get(i));
        t.sortuj(new PorĂłwnywacz&lt;Integer&gt;() { 
            public boolean por(Integer a,Integer b) { 
                return a&lt;=b; 
            }
        });
        System.out.println("A:");
        for(int i=0;i&lt;t.size();i++) System.out.println(t.get(i));
        t.sortuj(new PorĂłwnywacz&lt;Integer&gt;() { public boolean por(Integer a,Integer b) { return a&gt;=b; }});
        System.out.println("A:");
        for(int i=0;i&lt;t.size();i++) System.out.println(t.get(i));
    }
}</pre></body></html>