โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ระบบสมการเชิงเส้น F M B N เสถียร วิเชียรสาร.
Advertisements

Bansomdej Chaopraya Rajabhat University
Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
จงเขียนโปรแกรมในการคำนวณหาค่า function ข้างล่างโดยอาศัยหลักการ
โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.
Introduction to C Introduction to C.
อสมการ 1.1 อสมการเชิงเส้นตัวแปรเดียว
แนวคิดในการเขียนโปรแกรม
Chapter 1 Functions and Their Graphs 1. 6 – 1
Course Orientation Data Structure and Algorithms ( )
Lists Data Structure LAUKHWAN NGAMPRASIT LAUKHWAN NGAMPRASIT.
บทที่ 5 โครงสร้างข้อมูลคิว
ความสัมพันธ์ของการบวกและการลบ
สถาปัตยกรรมแบบ stack และ การผลิตโค๊ด
การผลิตโค๊ดสำหรับ Procedure Call
โครงสร้างการควบคุมการทำงานของโปรแกรม Program control structures
Data Type part.III.
Stack.
Stack Holidays/seasonal content.
ทบทวน อาร์เรย์ (Array)
CS Assembly Language Programming
Data structure & Algorithms
ลักษณะการทำงานของ Stack
แบบทดสอบ 1. สแตก (stack) หมายถึงอะไร
บรรยายครั้งที่ 2: Stack
โปรแกรมย่อย : Pascal Procedure
Arrays.
คิวQueue Circular Queue.
Surachai Wachirahatthapong
การเลือกจำนวน Hidden Node ที่เหมาะสมกับโครงข่ายประสาทเทียม
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
อาร์เรย์ ชื่อ น. ส. พิชชากานต์ ไชยชาญยุทธ์ เลขที่ 22 ชั้นสทส.1/1.
ตัวดำเนินการ(Operator)
Infix to Postfix มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
โครงสร้างการจัดเก็บข้อมูลเชิงกายภาพ
โครงสร้างข้อมูลแบบคิว
Data Structure and Algorithm
คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue
สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack
โรงเรียนวชิรธรรมสาธิต
โรงเรียนวชิรธรรมสาธิต
ใบงานที่ 7 การรับและแสดงผลข้อมูล
โครงสร้างข้อมูลทรีและไบนารีทรี (Tree and Binary Tree)
ความหมาย การประกาศ และการใช้
ลิงค์ลิสต์ (Linked List)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
ค21201 คณิตศาสตร์เพิ่มเติม 1
กองซ้อน ยอดกองซ้อน (stack).
โครงสร้างข้อมูลแบบกองซ้อน (Stack)
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
คำสั่งทำซ้ำ for คำสั่ง for เป็นคำสั่งทำซ้ำในลักษณะ Definite loop คือทราบจำนวนรอบที่แน่นอนในการทำงาน ซึ่งจะใช้ตัวแปร 1 ตัวในการนับจำนวนรอบว่าครบตามกำหนดหรือไม่
หลักการและวิธีการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
โครงสร้างข้อมูล Queues
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Chapter 11 Instruction Sets: Addressing Modes
โครงสร้างข้อมูลและอังกอลิทึม
หลักการเขียนโปรแกรมเบื้องต้น
แบบทดสอบก่อนเรียน กลุ่มสาระการเรียนรู้วิทยาศาสตร์ ชั้นมัธยมศึกษาปีที่ 2 เรื่อง การนำเสนอข้อมูลและการวิเคราะห์ข้อมูล คะแนนเต็ม 10 คะแนน.
Data Structure and Algorithms
ตัวแปร และชนิดข้อมูล.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โครงสร้างข้อมูลแบบ สแตก (stack)
การประยุกต์ใช้ Stack การประยุกต์ใช้ Stack
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Stack Sanchai Yeewiyom
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
2 โครงสร้างข้อมูลแบบสแตก (STACK).
ใบสำเนางานนำเสนอ:

โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top of Stack) เรียกว่าตัวชี้สแตก(Stack Pointer) มีรูปแบบเป็น Top(Y)

ให้ Y เป็นสแตกเก็บค่าตัวเลขได้ไม่เกิน 6 ตัว Push(‘2’),Push(‘5’),Push(‘3’) Pop(),Push(‘9’), Push(‘0’) Push(‘4’) Push(‘6’),Pop()

เริ่มต้นจากการสร้างสแตก Yขึ้นมาทำงานจำได้สแตกว่าง ไม่มีสมาชิกโดยตัวชี้สแตก Top ยังไม่มีค่า

นำค่า 2 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘2’) สแตก Y=[2] ตัวชี้สแตก Top = 2 Top

นำค่า 5 เก็บต่อโดยใช้ Push(‘5’) สแตก Y=[2,5] ตัวชี้สแตก Top = 5 Top

นำค่า 3 เก็บต่อโดยใช้ Push(‘3’) สแตก Y=[2,5,3] ตัวชี้สแตก Top = 3

ต้องการดึงค่าออกมาโดยใช้Pop() 2 5 ต้องการดึงค่าออกมาโดยใช้Pop() สแตก Y=[2,5] ตัวชี้สแตก Top = 5 Top

นำค่า 9 เก็บต่อโดยใช้ Push(‘9’) สแตก Y=[2,5,9] ตัวชี้สแตก Top = 9

นำค่า 0 เก็บต่อโดยใช้ Push(‘0’) สแตก Y=[2,5,9,0] ตัวชี้สแตก นำค่า 0 เก็บต่อโดยใช้ Push(‘0’) สแตก Y=[2,5,9,0] ตัวชี้สแตก Top = 0 Top

นำค่า 4 เก็บต่อโดยใช้ Push(‘4’) สแตก Y=[2,5,9,0,4] ตัวชี้สแตก 4 นำค่า 4 เก็บต่อโดยใช้ Push(‘4’) สแตก Y=[2,5,9,0,4] ตัวชี้สแตก Top = 4 Top

นำค่า 6 เก็บต่อโดยใช้ Push(‘6’) สแตก Y=[2,5,9 4 6 นำค่า 6 เก็บต่อโดยใช้ Push(‘6’) สแตก Y=[2,5,9 0,4,6] ตัวชี้สแตก Top = 6 Top

ต้องการดึงค่าออกมาโดยใช้Pop() 2 5 9 4 ต้องการดึงค่าออกมาโดยใช้Pop() สแตก Y=[2,5,9,0,4] ตัวชี้สแตก Top = 4 Top

อัลกอริทึมการแปลงนิพจน์แบบ Infix เป็นแบบ Postfix โจทย์ 10+5-(8/2)*3

10+5-(8/2)*3 ผลลัพธ์ Stack

10+5-(8/2)*3 ผลลัพธ์ 10 Stack

10+5-(8/2)*3 ผลลัพธ์ 10 + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 / ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / * - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + Stack

คำตอบที่ได้จะอยู่ที่ผลลัพธ์ 10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + คำตอบที่ได้จะอยู่ที่ผลลัพธ์ Stack

การหาคำตอบจากการคำนวณนิพจน์ Postfix โจทย์ 78*2/4-

78*2/4- ผลลัพธ์ Stack

78*2/4- ผลลัพธ์ 7 Stack

78*2/4- ผลลัพธ์ 8 7 Stack

78*2/4- ผลลัพธ์ 7 * 8 Stack

78*2/4- ผลลัพธ์ 56 Stack

78*2/4- ผลลัพธ์ 2 56 Stack

78*2/4- ผลลัพธ์ 56 / 2 Stack

78*2/4- ผลลัพธ์ 28 Stack

78*2/4- ผลลัพธ์ 4 28 Stack

78*2/4- ผลลัพธ์ 28 - 4 Stack

คำตอบที่ได้อยู่ที่สแตก 78*2/4- ผลลัพธ์ คำตอบที่ได้อยู่ที่สแตก 24 Stack