สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Bansomdej Chaopraya Rajabhat University
Advertisements

โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
บทที่ 2 ภาษาปาลคาลเบื้องต้น.
การทำงานแบบเลือกทำ (Selection)
โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.
User Defined Simple Data Type
สถาปัตยกรรมแบบ stack และ การผลิตโค๊ด
การผลิตโค๊ดสำหรับ Procedure Call
สภาวะแวดล้อมในขณะโปรแกรมทำงาน
Stack.
CS Assembly Language Programming
Stack Holidays/seasonal content.
Data structure & Algorithms
ลักษณะการทำงานของ Stack
แบบทดสอบ 1. สแตก (stack) หมายถึงอะไร
บรรยายครั้งที่ 2: Stack
โครงสร้างคำสั่งแบบเลือก (Selection)
ภาษาปาสคาล ผู้สร้าง Dr.Niklaus Wirth ปี 2513
คำสั่งเงื่อนไขและการควบคุม
ภาษาโปรแกรมเชิงหน้าที่
โปรแกรมย่อย : Pascal Procedure
ASP [#12] ตัวอย่าง VBScript เพื่อใช้ตรวจสอบค่าบนฟอร์ม
Arrays.
Arrays.
คิวQueue Circular Queue.
PROCEDURE <<โปรแกรมย่อย>>
การเขียนผังงานแบบโครงสร้าง
บทที่ 2 ประเภทข้อมูล (DATA TYPE)
บทที่ 7 การกำหนดชนิดข้อมูลใหม่
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
การวิเคราะห์ประสิทธิภาพของอัลกอริธึม (Performance Analysis)
บทที่ 15 โปรแกรมย่อยและแสต็ก
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
Infix to Postfix มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
โครงสร้างข้อมูลแบบคิว
Data Structure and Algorithm
คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
โครงสร้างแบบลำดับ คำสั่ง x คำสั่ง y.
คิว (Queue) Queue ADT Queue เป็น List ชนิดหนึ่ง แต่สำหรับ queue การแทรกข้อมูลลงบน queue (Insertion) จะทำที่ปลายใดปลายหนึ่งของ Queue ในขณะที่การลบข้อมูลออกจากคิว.
TURBO PASCAL OUTLINE 1. บทนำเกี่ยวกับการเขียนโปรแกรมภาษาปาสคาล
Lecture 4 เรคอร์ด.
บทที่ 5 Link List Link List.
บทที่ 9 เซต (Set) เซต หมายถึงกลุ่ม ฝูง พวก ชุด ของสิ่งใดสิ่งหนึ่ง เช่น เพศ ประกอบด้วย หญิง และ ชาย รายการที่อยู่ในเซต เรียกว่าสมาชิก เซตย่อย (Subset) คือ.
Advanced Class Design in Java Java Packages Week #6 Jarungjit Parnjai
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
กองซ้อน ยอดกองซ้อน (stack).
โครงสร้างข้อมูลแบบกองซ้อน (Stack)
บทที่ 6 โครงสร้างข้อมูลเบื้องต้น
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
อาจารย์ปิยศักดิ์ ถีอาสนา
หลักการเขียนโปรแกรม ( )
โครงสร้างข้อมูล Queues
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โครงสร้างข้อมูลแบบ สแตก (stack)
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
Programming assignments ชื่องาน (subject) : program เขียนด้วยภาษา C หรือ C++ มีทั้งหมด 7 ข้อ กำหนดส่ง 29 กรกฎาคม 2554.
1 บทที่ 5 โปรแกรมย่อย Part II Function. 2 ฟังก์ชัน (Function) เป็นชุดคำสั่งย่อยที่มีหน้าที่เฉพาะอย่างใดอย่างหนึ่ง เหมือนกับ procedure สามารถมีการรับส่งค่าข้อมูล.
Stack Sanchai Yeewiyom
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
2 โครงสร้างข้อมูลแบบสแตก (STACK).
3 โครงสร้างข้อมูลแบบคิว (QUEUE).
ใบสำเนางานนำเสนอ:

สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack

Stack Structure ประกอบด้วยสมาชิกที่เรียงต่อกันเป็นแถว โดยการนำสมาชิกเข้าและออกจากสแตกจะกระทำที่ด้านปลายหรือด้านบน Top of the stack

การดำเนินการของ Stack การนำสมาชิกเข้าสู่สแตก ข้อมูลจะอยู่ด้านบนเสมอ การนำสมาชิกออกจากสแตก จะต้องนำข้อมูลด้านบนออกก่อน หรือเรียกว่าข้อมูลที่เข้าสแตกก่อนจะออกทีหลังและข้อมูลที่เข้าสแตกทีหลังจะออกก่อน LIFO Last-In , First-out

ตัวอย่างการดำเนินการของ Stack B C C B A A B A C B A B A A ประโยชน์ช่วยจดจำการกระโดดไปมาระหว่างโปรแกรมย่อยและโปรแกรม Recursive

การดำเนินการเกี่ยวกับ Stack (Operation on Stack) **การนำสมาชิกใหม่เข้าสู่ด้านบนสุดของสแตก Push ซึ่งจะต้องใช้ Stack Pointer ชี้ไปยังช่องว่างถัดไปก่อน **การนำสมาชิกออกจากด้านบนสุดของสแตก Pop ซึ่งจะต้องใช้ Stack Pointer ชี้ไปยังตำแหน่งบนสุดก่อน

การนำสมาชิกเข้าและออกจากสแตก Push (Stack,2) Push (Stack,4) Push (Stack,6) Pop (Stack,Item) Push (Stack,7) 2 2 4 2 4 6 2 4 Item = 6 2 Item = 4 2 7

การตรวจสอบ Stack Stack ว่าง EmptyStack ถ้าว่างค่าจะเป็น True ถ้าไม่ว่างค่าจะเป็น False ถ้าทำการลบในขณะที่ Stack ว่างจะเกิด Underflow Stack เต็ม FullStack ถ้าสมาชิกเต็มค่าจะเป็น True ถ้าสมาชิกไม่เต็มค่าจะเป็น False ถ้าเพิ่มในขณะที่ Stack ยังเต็มอยู่จะเกิด Overflow

การสร้าง Stack ด้วยภาษาปาสคาล Const Max = 100; Type Stackltem = char; Stack = record Item : array[1..Max] of Stackltem; Top : 0..Max; End;

การนำข้อมูลเข้า Stack ด้วยภาษาปาสคาล function push(var s:stack; x:Stackltem) : boolean; Begin if s.Top = Max then push := False else begin s.Top := s.Top + 1; s.Item[s.Top] := x; Push := True; End;

การนำข้อมูลออกจาก Stack ด้วยภาษาปาสคาล Function pop(Var s:Stack; Var x:StackItem): boolean; Begin if empty(s) then pop := False else begin X := s.Item[s.Top]; s.Top := S.Top-1; Pop := True; End;

การตรวจสอบ Stack ว่างด้วยภาษาปาสคาล Begin If Top = 0 Then EmptyStack := true; Else EmptyStack := false; End;

การตรวจสอบ Stack เต็มด้วยภาษาปาสคาล Begin If Top = MaxStack Then FullStack := true Else FullStack := false End;