ตัวอย่าง ของ ฮีปซอร์ต

ให้ { 6, 5, 3, 1, 8, 7, 2, 4 } เป็นลิสต์ เราต้องการเรียงสมาชิกของลิสต์นี้จากน้อยที่สุดไปมากที่สุด[6]

ตัวอย่างฮีปซอร์ต

การสร้างฮีป

ฮีปสมาชิกใหม่ใส่เข้าไปในฮีปสลับ (swap) สมาชิก
NULL (ว่างเปล่า)6
65
6, 53
6, 5, 31
6, 5, 3, 18
6, 5, 3, 1, 85, 8
6, 8, 3, 1, 56, 8
8, 6, 3, 1, 57
8, 6, 3, 1, 5, 73, 7
8, 6, 7, 1, 5, 32
8, 6, 7, 1, 5, 3, 24
8, 6, 7, 1, 5, 3, 2, 41, 4
8, 6, 7, 4, 5, 3, 2, 1

การเรียง

ฮีปสลับ (swap) สมาชิกลบ (delete) สมาชิกอาร์เรย์ที่จัดเรียงแล้วข้อมูล
8, 6, 7, 4, 5, 3, 2, 18, 1สลับ 8 และ 1 เพื่อลบ 8 จาก heap
1, 6, 7, 4, 5, 3, 2, 88ลบ 8 จาก heap และเพิ่มไปยังอาร์เรย์ที่เรียงแล้ว
1, 6, 7, 4, 5, 3, 21, 78สลับ 1 และ 7 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
7, 6, 1, 4, 5, 3, 21, 38สลับ 1 และ 3 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
7, 6, 3, 4, 5, 1, 27, 28สลับ 7 และ 2 เพื่อลบ 7 จาก heap
2, 6, 3, 4, 5, 1, 778ลบ 7 จาก heap และเพิ่มไปยังอาร์เรย์ที่เรียงแล้ว
2, 6, 3, 4, 5, 12, 67, 8สลับ 2 และ 6 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
6, 2, 3, 4, 5, 12, 57, 8สลับ 2 และ 5 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
6, 5, 3, 4, 2, 16, 17, 8สลับ 6 และ 1 เพื่อลบ 6 จาก heap
1, 5, 3, 4, 2, 667, 8ลบ 6 จาก heap และเพิ่มไปยังอาร์เรย์ที่เรียงแล้ว
1, 5, 3, 4, 21, 56, 7, 8สลับ 1 และ 5 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
5, 1, 3, 4, 21, 46, 7, 8สลับ 1 และ 4 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
5, 4, 3, 1, 25, 26, 7, 8สลับ 5 และ 2 เพื่อลบ 5 จาก heap
2, 4, 3, 1, 556, 7, 8ลบ 5 จาก heap และเพิ่มไปยังอาร์เรย์ที่เรียงแล้ว
2, 4, 3, 12, 45, 6, 7, 8สลับ 2 และ 4 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
4, 2, 3, 14, 15, 6, 7, 8สลับ 4 และ 1 เพื่อลบ 4 จาก heap
1, 2, 3, 445, 6, 7, 8ลบ 4 จาก heap และเพิ่มไปยังอาร์เรย์ที่เรียงแล้ว
1, 2, 31, 34, 5, 6, 7, 8สลับ 1 และ 3 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
3, 2, 13, 14, 5, 6, 7, 8สลับ 3 และ 1 เพื่อลบ 3 จาก heap
1, 2, 334, 5, 6, 7, 8ลบ 3 จาก heap และเพิ่มไปยังอาร์เรย์ที่เรียงแล้ว
1, 21, 23, 4, 5, 6, 7, 8สลับ 1 และ 2 เนื่องจากพวกมันเรียงลำดับอย่างไม่ถูกต้องในฮีป
2, 12, 13, 4, 5, 6, 7, 8สลับ 2 และ 1 เพื่อลบ 2 จาก heap
1, 223, 4, 5, 6, 7, 8ลบ 2 จาก heap และเพิ่มไปยังอาร์เรย์ที่เรียงแล้ว
112, 3, 4, 5, 6, 7, 8ลบ 1 จาก heap และเพิ่มไปยังอาร์เรย์ที่เรียงแล้ว
1, 2, 3, 4, 5, 6, 7, 8เรียงสมบูรณ์