Wskazówka:
Brakujące fragmenty algorytmu dotyczą zapamiętania, a następnie wstawienia w poprawne miejsce w tablicy aktualnie przetwarzanego elementu ciągu, czyli A[j]. W pętli zewnętrznej elementy ciągu są przetwarzane od przedostatniego do pierwszego, a w pętli wewnętrznej zmienna sterująca i rośnie. Dlatego wyszukiwanie liniowe sprowadza się tutaj do przeglądania już uporządkowanych elementów tablicy A[j+1], A[j+2],…, A[n] w celu znalezienia właściwego miejsca dla elementu A[j]. Ponieważ w pętli wewnętrznej porównujemy kolejne elementy z x, pierwsza brakująca instrukcja służy zapamiętaniu j-tego elementu w zmiennej x. W pętli wewnętrznej poszukiwanie miejsca do wstawienia j-tego elementu rozpoczynamy od pozycji j+1, dlatego druga brakująca instrukcja to ij + 1. Ostatnia brakująca instrukcja służy wstawieniu zapamiętanego w zmiennej x elementu we właściwe miejsce. Indeks i zatrzymuje się w wewnętrznej pętli na elemencie większym od wstawianego elementu x, dlatego x umieszczamy na pozycji i – 1. (Zauważmy, że elementy A[j+1],…,A[i – 1] zostają wskutek wykonania pętli wewnętrznej przesunięte o jedną pozycję w lewo.)
Powrót do pytań