 ทำวิศวกรรมย้อนกลับอัลกอริทึมนี้
อัลกอริทึมใช้อาร์เรย์ของจำนวนเต็ม N, A[1], A[2]…, A[N] และทำการเรียงลำดับแบบฟองเพื่อสร้างอาร์เรย์ที่เรียงลำดับใหม่ B[1], B[2]…, B[N] . เริ่มจากดัชนี 2 โดยจะเปรียบเทียบแต่ละองค์ประกอบ A[j] กับองค์ประกอบก่อนหน้า A[j-1] ถ้า A[j] น้อยกว่า A[j-1] องค์ประกอบทั้งสองจะถูกสลับและ j จะลดลงทีละหนึ่ง กระบวนการนี้ทำซ้ำจนกว่า A[j] จะไม่เล็กกว่า A[j-1] หรือ j = 1 อีกต่อไป