Developer Toolbox

Sortowanie przez wstawianie

Buduje posortowaną część po lewej stronie, dokładając po jednej wartości. Każdą kolejną wartość wyjmuje i przesuwa w lewo, dopóki nie natrafi na mniejszą.

  • Ω(n)
  • Θ(n²)
  • O(n²)
  • O(1)
  • tak
  • tak
  • porównywanie
  • przenoszenie
  • w ręku
  • posortowana część
  • na właściwym miejscu
0 / 372 kroków

Pary w złej kolejności: 154 (na starcie: 154) w złej kolejności już uporządkowane

Porównania Przesunięcia

Naciśnij Odtwórz, a linie pokażą, jak rośnie koszt

Naciśnij Odtwórz albo przechodź przez algorytm krok po kroku.

Spacja: odtwórz lub wstrzymaj. Strzałki lewo/prawo: krok. Home i End: przeskocz.

Spróbuj: Wybierz listę prawie posortowaną. Prawie nic się nie przesuwa, więc sortowanie kończy się po bardzo niewielu krokach.

Jak to działa

Lewa część jest zawsze posortowana. Wyjmij kolejną wartość. Wszystkie większe od niej wartości z posortowanej części przesuń o jedno miejsce w prawo, a wyjętą wartość włóż w powstałą lukę. Tak właśnie wiele osób układa karty w ręce.

Kiedy warto go użyć

Dobry wybór dla krótkich list i list prawie posortowanych, na których działa bardzo szybko. Biblioteki sortujące korzystają z niego przy małych fragmentach listy, wewnątrz szybszych metod.