ช่วยอธิบาย code ภาษา c นี้ให้หน่อยครับ

#include <stdio.h>
#include<conio.h>
#define SIZE 10
main()
{
    int a[SIZE] = {2, 6, 4, 8, 10, 12, 89, 68, 45, 37};
    int i, pass, hold;
    printf("Data items in original order\n");
    for (i = 0; i <= SIZE - 1; i++) printf("%4d", a);

    for (pass = 0; pass <= SIZE - 2; pass++)
        for (i = 0; i <= SIZE - pass - 2; i++)
            if (a > a[i + 1])
            {
                hold = a;
                a = a[i + 1];
                a[i + 1] = hold;
            }

    printf("\nData items in ascending order\n");
    for (i = 0; i <= SIZE - 1; i++) printf("%4d", a);

    printf("\n");
    getch();
    return 0;
}

สงสัยตรง loop for (pass = 0; pass <= SIZE - 2; pass++) กับ  for (i = 0; i <= SIZE - pass - 2; i++)
ว่าทำไมตรงตัวคุม loop จึงต้องเป็น  pass <= SIZE - 2 กับ     i <= SIZE - pass - 2     ครับ อธิบายที
ขอบคุณครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่