--- title: ทดสอบ suggestion กับ ตัวแสดงจำนวนข้อความทั้งหมดของช่องแก้ไข PE subtitle: date: วันพุธที่ 24 สิงหาคม 2565 เวลา 13.15 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์สุธาสินี) ทำไมเป็นอย่างนั้นล่ะได้ยินครูนะ คราวที่แล้วนะคะ เราพูดถึงในเรื่องของเหมือนล่ามไม่ได้ยินเลย อ๋อ ค่ะคราวที่แล้วเราพูดถึงเรื่อง list นะ lisแล้วเราก็ทำข้อสอบไปแล้วนะคะเรื่องลิสต์ได้ไหมคะได้ยินไหมคะยังไม่ได้ยินคราวที่แล้วนะคะ เราพูดถึงเรื่อง List ทุกคนจำได้นะคะ อันนี้คือลิสต์นะ ที่ครูยกตัวอย่างมาให้ลิสต์ตัวนี้มีขนาดเท่ากับเท่าไหร่มีขนาดเท่าไหร่ ขนาด คือมีจำนวนเท่าไร มี 5 คนอื่นมีเท่าไรคะ5 โอเค 5 นะคะลิสต์ที่เราเห็นในหน้าจอตรงนี้จะมีอยู่ 5 ตัวถูกไหมคะ มีข้อมูลอยู่ 5 ตัวมี 1 มี 2 มี 3 มี 4แล้วก็มี 5 มีทั้งหมด 5 ตัวนะคะ คราวนี้เรารู้ได้อย่างไรว่ามันคือลิสต์ เห็นก้ามปูเปิด-ก้ามปูปิดไหมคะเป็นสัญลักษณ์ที่บอกว่าการเก็บข้อมูลลักษณะแบบนี้มีชื่อเรียกว่า "ลิสต์" นะคะจะเก็บค่าของข้อมูลในลิสต์ indexก็คือหมายเลขถูกไหมคะ ก็คือหมายเลขของข้อมูลเราเริ่มต้นที่หมายเลขอะไรเอ่ยพอเราวาดเป็นช่องใช่ไหมคะในลิสต์นี่ ถ้าเราลองวาดการจัดเก็บนะ ก็จะเป็น 1แล้วก็จะเก็บข้อมูลลงไปในช่องแบบนี้หมายเลขช่องหรือว่าIndex ตัวแรกเราจะเริ่มต้นที่ตรงไหนตรงนี้ index เราจะเริ่มที่เราไรเอ่ย0 นะ ใช่ไหมคะ1 2 3 แล้วก็ 4แล้วก็ 4 ก็คือหมายเลขช่อง ถ้าเราวาดรูปให้เป็นรูปสี่เหลี่ยมในการจัดเก็บข้อมูล แล้วเวลาครูเข้าถึงข้อมูลที่อยู่ในลิสต์ ตอนนี้ครูตั้งชื่อลิสต์ตัวนี้มีชื่อว่า xx index 3ตอบเท่ากับเท่าไรเอ่ย indexเป็น 3 ตัวนี้ตอบ 4 ใช่ตรงนี้ต้องตอบว่า 4 นะคะ ทุกคนจำได้นะแล้วถ้า xเราต้องการหลาย ๆ ค่า 2 จนถึง 4จะตอบเท่าหับเท่าไหร่คะ3 กับ...3 กับอะไรเอ่ย 4 ใช่ไหมใช่ไหม คือ 3 กับ 4 นะ มันเริ่มต้นที่ 2 ใช่ไหมคะ ก็คือเริ่มต้นที่ 2 ก็คือเริ่มต้ด้วยตัวถึง 4 แล้วก็ลดลงมา 1 ช่อง ก็จะได้ข้อมูลตัวนี้ก็คือ 3 กับ 4คราวนี้ แล้วเราเอาลิสต์มาทำอะไรนะคะ เราเก็บข้อมูลรูปแบบลิสต์ แล้วเราเอามาใช้ทำอะไรนะคะวันนี้เราจะพูดถึงโครงสร้างอีกแบบหนึ่งที่มีชื่อว่า stack นะสแตกนะคะ สแตกตัวนี้จะใช้วิธีการเก็บข้อมูลแบบลิสต์นะคะ แล้วลักษณะแบบไหนที่เราจะเรียกว่า "stack" นะคะ ดูด้วยกันเขาบอกว่า Stackก็คือการที่เราใส่ข้อมูลเข้าไปแล้วก็ดึงออกมานะคะ แล้วข้อมูลที่ถูกใส่เข้าไปใน Stack จะถูกเอาออกมาใช้ทีหลัง อันนี้ คือวิธีการเก็บข้อมูลแบบ stack หรือที่เรียกว่าเข้าทีหลังออกก่อนเข้าก่อนออกทีหลัง ความหมายเหมือนกันยกตัวอย่างเช่น ทุกคนเคยไปที่ร้านก๋วยเตี๋ยวไหมคะ ทุกคนเคยไปที่ร้านก๋วยเตี๋ยวนะแล้วเห็นถ้วยก๋วยเตี๋ยวก่อนที่เขาจะเอามาใส่เส้น ใส่เครื่องปรุง ใส่หมูให้เราชามก๋วยเตี๋ยวมันเรียงขึ้นไปแบบนี้ใช่ไหมคะ เวลาแม่ค้าเขาจะเอาจามก๋วยเตี๋ยวมาใส่ให้เราเขาจะเอาชามก๋วยเตี๋ยวมาใส่ให้เรา เขาเอาชามที่อยู่ข้างบน หรือชามที่อยู่ข้างล่างเอาชามข้างบนหรือข้างล่างคะ ข้างบนเขาเอาข้างบนมาทำให้เราแล้วเวลาเขาล้างจานเสร็จแล้วนี่ เอาจานมาซ้อนข้างล่างหรือซ้อนข้างบน ซ้อนข้างบนใช่ไหมคะ เพราะฉะนั้น จานที่อยู่บนสุดจะถูกเอาออกมาใช้ก่อนและจากที่อยู่บนสุดนะคะ จะถูกเอาเข้ามาเก็บทีหลัง อันนี้คือรูปแบบของ Stack เช่นนะคะ เช่น ๆเช่น สมมติ ครูมีกระดาษ 1 แผ่นนะครูมีกระดาษอยู่ 1 แผ่น ทุกคนดูนะคะครูจะใส่กระดาษแผ่นที่ 2เห็นไหมคะ ครูซ่อนกระดาษแผ่นที่ 2 อยู่ข้างบนครูใส่ ครูใส่กระดาษแผ่นที่ 3 เข้าไปนะคะ แล้วครูก็ใส่กระดาษแผ่นที่ 4 เข้าไปในมือครู เวลาครูจะเอาออกมาใช้ครูจะเอาตัวล่างสุดหรือตัวบนสุดออกมาใช้ตัวบนสุดถูกไหมคะครูไม่พยายามจะดึงตัวล่างสุดออกมานะคะ ครูจะหยิบตัวบนสุดอกไปใช้ ซึ่งตัวบนสุดนี่คือ กระดาษแผ่นที่เราใส่ไปล่าสุดนะคะเเราสามารถสรุปได้แบบนี้นะ ข้อมูลที่อยู่ใน Stackตัวแรกจะอยู่ด้านล่างสุด ขข้อมูลที่หย่อนลงไปใน Stack ตัวแรกจะอยู่ด้านล่างสุดเลยนะคะ ตัวถัดไปก็จะซ้อนขึ้นมาเรื่อย ๆ ข้อมูลที่เข้าไปใน Stack เป็นตัวสุดท้ายนะคะ จะอยู่บนสุด แล้วเวลาเราเอาข้อมูลใน Stack ออกมาใช้งานข้อมูลที่เข้าไปเป็นตัวล่าสุดหรือตัวลำดับสุดท้าย จะถูกดึงออกมาใช้งานก่อน ตัวไหนที่เข้าไปตัวแรกจะถูกเอามาใช้งานเป็นตัวสุดท้ายนะคะ เพราะมันอยู่ล่างสุดมันก็ใช้ยาก เราต้องใช้ตัวบน ค่อย ๆ ดึงตัวบนออกไปก่อนคราวนี้เวลาเราเอาข้อมูลใส่ใน Stackเราพูดถึง Stack ก็เหมือนภาชนะนะ Stackเป็นช่องแบบนี้ เป็นช่องสี่เหลี่ยในแนวตั้ง ถ้าเราพูดถึง Stack นะดูรูปนี้ก่อน อย่างนี้ มันจะอยู่ในแนวนอนหรือแนวตั้งก็ได้มันจะอยู่ในแนวนอนหรือแนวตั้งก็ได้ถ้าพูดถึง Stack ก้คือเป็นชั้น ๆเลื่อนขึ้นไปเรื่อย ๆ นะคะ ใน Stackเราทำอะไรได้บ้าง เราใส่ข้อมูลลงไปเราดึงข้อมูลออกมา คราวนี้stackถ้ามันไม่มีข้อมูลอะไรเลยเราเรียกว่า "Stack ว่าง" คือ มันมีค่าว่าง ๆไม่มีตัวอักษรอะไรเลยนะ อันนี้คือ Stack ว่างถ้าเราจะใส่ข้อมูลลงไปใน Stackเราจะมีคำสั่งที่ชื่อว่า Pushคือคำสั่งตัวนี้นะคะคำสั่ง Push ก็คือใส่ข้อมูลลงไปใน Stack ถ้าต้องการเอาข้อมูลออกจาก Stack เราใช้คำสั่ง Pop นะคะมีอยู่ 2 ตัวที่ทุBan