Sortowanie przez selekcję

0

Witam,
Czy mógłby ktoś wyhaczyć błąd w moim kodzie? Nie sortuje on poprawnie tak jak powinien a nie mogę doszukać się błędu. Wypisuje mi tablicę [3, 2, 5, 6, 8, 9]. Program ma sortować przez selekcję. Tablicę numeruje od 1. Napisany w JavaScript:

tab = [3, 5, 2, 8, 6, 9];
		n = 6;
		
		for(i = 1; i < n; i++)
		{
			idMin = i;
			for(k = i+1; k < n; k++) // minimalna wartość dla danej iteracji
			{
				if(tab[k] < tab[idMin])
				{
					idMin = k;
				}
			}
			pom = tab[i];
			tab[i] = tab[idMin]; // zastąpienie danej wartości wartością najmniejszą
			tab[idMin] = pom;
		}
		console.table(tab); 
4

Pamiętaj że pierwszy element w każdej tablicy jest na pozycji 0 a nie 1.
Czyli zamiast tego

for(i = 1; i < n; i++)

Powinno być to

for(i = 0; i < n; i++)

Przy zaczynaniu od 1 w wzwyż tak naprawdę pierwsza liczba zostawała pominięta.
Przy okazji to zamiast deklarować długość tablicy n = 6 lepiej użyj tab.length wtedy sort będzie działał dla tablicy o każdej długości.

EDIT: Poza tym to zapakowałbym to w jakąś funkcję
EDIT2: Silv poprawił mój błąd

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