1. หัวข้อทดลอง: การจัดการลานจอดรถ 2. คำอธิบายปัญหา:
สมมติว่าลานจอดรถเป็นทางเดินที่ยาวและแคบซึ่งสามารถจอดรถได้และมีประตูเดียวสำหรับยานพาหนะเข้าและออก รถจะจอดจากส่วนในสุดของลานจอดรถถึงประตูทางเข้าออกตามเวลาเช้าและเย็นที่รถจะมาถึงลานจอดรถ (รถคันแรกที่มาถึงก่อนจะอยู่ที่ส่วนในสุดของลานจอดรถ) หากที่จอดรถเต็ม n คัน รถยนต์คันถัดไปจะจอดได้เฉพาะบนทางเท้าด้านนอกประตูลานจอดรถเท่านั้น เมื่อรถยนต์แล่นออกไปในลานจอดรถ รถคันแรกบนทางเท้าจะเข้าสู่ลานจอดรถ หากมีรถยนต์ในลานจอดรถที่ต้องการขับออกไป รถที่เข้าลานจอดรถหลังจากนั้นจะต้องออกจากลานจอดรถก่อนจึงจะหลีกทางให้ ที่จอดรถตามลำดับเดิม เมื่อรถแต่ละคันออกจากลานจอดรถ จะมีการเรียกเก็บค่าธรรมเนียมตามระยะเวลาที่รถยังคงอยู่ในลานจอดรถ หากรถที่อยู่บนทางเท้าต้องการออกก่อนเข้าลานจอดรถก็สามารถออกได้โดยไม่ต้องเสียค่าจอดรถ และยังคงรักษาลำดับของรถที่รออยู่บนทางเท้า จัดทำโปรแกรมจำลองการบริหารจัดการลานจอดรถ
3. การวิเคราะห์อุปสงค์:
ที่จอดรถใช้โครงสร้างแบบกอง และทางเท้าด้านนอกลานจอดรถใช้โครงสร้างคิว (นั่นคือ ทางเท้าเป็นคิวรอ) กระบวนการบริหารจัดการลานจอดรถมีดังนี้
1 เมื่อรถกำลังจะเข้าลานจอดรถ ให้ตรวจสอบว่าลานจอดรถเต็มหรือไม่ หากที่จอดรถเต็ม รถจะเข้าสู่คิวรอ (รถจะเข้าทางเท้าเพื่อรอ)
2 เมื่อยานพาหนะร้องขอให้ออกจากกอง ยานพาหนะที่ขึ้นไปถึงจุดสูงสุดของกองจะเด้งออกจากกองก่อน (ยานพาหนะที่เข้ามาหลังจากนั้นจะต้องออกจากลานจอดรถก่อนจึงจะหลีกทางได้) จากนั้นจึงปล่อยให้รถออก กองและยานพาหนะอื่นจะเข้ากองตามลำดับเดิม (เข้าลานจอดรถ) หลังจากนำรถออกจากปล่องแล้วให้ตรวจสอบว่ามีรถอยู่ในคิวรอ (บนทางเท้า) หรือไม่ หากมีรถ ให้นำรถออกจากหัวคิวแล้วดันเข้าไปในปล่อง
ขยาย