x ו-y יציינו שני אינדקסים שיצביעו על מקום מסוים במערך, כאשר x יהיה תמיד לפני y. אפשר להבין את זה מכך שx נקבע ל-0 ו-y נקבע לn-1, וכן מכך שהתנאי בwhile הגדול הוא שx<y. ה-while הפנימי פועל כל עוד שארית החלוקה ב-z היא 0, כלומר כל עוד האיבר מתחלק ב-z. אז כל עוד האיבר מתחלק בz ללא שארית, מסתכלים על האיבר הבא. באופן דומה, בשורה הבאה, ככל שהאיבר שהפעם משאיר שארית בחלוקה בz, נסתכל על האיבר הקודם (האינדקסים x,y יתקרבו אחד לשני). לאחר שנתקלנו באיבר שלא מתחלק ב-z מצד שמאל (ע"י X) ובאיבר שמתחלק ב-z מצד ימין (ע"י Y), שתי הלולאות הקטנות הסתיימו ונבצע החלפה בין האיברים. למשל, הצעד הראשון שנעשה על b הוא הבא: הפעם z=3 ולכן נדבר על שארית חלוקה ב-3. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 9 2 3 4 5 6 7 8 1 0 9 2 3 4 5 6 7 8 1 0 9 2 3 4 5 6 7 8 1 0 9 2 3 4 5 6 7 8 1 0 9 6 3 4 5 2 7 8 1 . . . כאשר כל שורה מציינת שינוי במערך, המודגש הוא המיקום של X והקו התחתון הוא המיקום של Y. בין שורה 1 ל-2, X מתקדם. Y לא מתקדם כי 9 כבר מתחלק ב-3 ואז מתבצעת החלפה (שורה 3). לאחר מכן, X מתקדם עד ל-2 שאינו מתחלק ב-3, וY מתקדם עד ל-6 שכן מתחלק ב-3. לאחר מכן ישנה החלפה בין 6 ל-2. וכן הלאה.