2. 두 항목의 순서가 뒤바뀌어 있으면(즉, 왼쪽 값이 오른쪽 값보다 크면) 두 항목을 교환(swap)한다(순서가 올바르다면 2단계에서는 아무것도 하지 않는다).
▲ 그림 4-2
3. “포인터”를 오른쪽으로 한 셀씩 옮긴다.
▲ 그림 4-3
4. 배열의 끝까지 또는 이미 정렬된 값까지 1단계부터 3단계를 반복한다(이어지는 절에서 단계별로 차례차례 따라가다 보면 더 이해하기 쉬울 것이다). 이제 배열의 첫 패스스루(pass-through)가 끝났다. 즉 배열 끝까지 값을 하나하나 가리키며 배열을 “통과”했다.
5. 이제 두 포인터를 다시 배열의 처음 두 값으로 옮겨서 1단계부터 4단계를 다시 실행함으로써 새로운 패스스루를 실행한다. 교환이 일어나지 않는 패스스루가 생길 때까지 패스스루를 반복한다. 교환할 항목이 없다는 것은 배열이 정렬됐고 문제를 해결했다는 뜻이다.