Untitled

 avatar
unknown
java
10 months ago
994 B
14
Indexable
   if (a.length < 3) throw new NoSuchElementException("Tabellen har færre enn tre elementer");


    int m = 0, nm = 1, tm = 2; // indeksene
    if (a[nm] < a[m]) { int temp = m; m = nm; nm = temp; }
    if (a[tm] < a[nm]) { int temp = nm; nm = tm; tm = temp; }
    if (a[nm] < a[m]) { int temp = m; m = nm; nm = temp; }

    int minverdi = a[m], nestmin = a[nm], tredjemin = a[tm];

    for (int i = 3; i < a.length; i++) {
        int verdi = a[i];
        if (verdi < tredjemin) {
            if (verdi < nestmin) {
                if (verdi < minverdi) {
                    tm = nm; tredjemin = nestmin;
                    nm = m; nestmin = minverdi;
                    m = i; minverdi = verdi;
                } else {
                    tm = nm; tredjemin = nestmin;
                    nm = i; nestmin = verdi;
                }
            } else {
                tm = i; tredjemin = verdi;
            }
        }
    }
    return new int[]{m, nm, tm};
Editor is loading...
Leave a Comment