สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

ฟรี TUTORIAL JAVA

ฟรีtutorial JAVA 01 install Eclipse ฟรีtutorial JAVA 02 intro to programming Eclipse ฟรีtutorial JAVA 03 condiotion ฟรีtutorial JAVA 04.loop ฟรีtutorial JAVA 05.array ฟรีtutorial JAVA 05 2 array cont ฟรีtutorial JAVA 06 01 function ฟรีtutorial JAVA 06 02 function cont ฟรีtutorial JAVA 07 object ฟรีtutorial JAVA 08 string ฟรีtutorial JAVA 09 constructor ฟรีtutorial JAVA 10 01 oop ฟรีtutorial JAVA 10 02 oop2 ฟรีtutorial JAVA 11 exception ฟรีtutorial JAVA 12 reading file ฟรีtutorial JAVA 13 thread ฟรีtutorial JAVA 14 generic ฟรีtutorial JAVA 15 01 GUI ฟรีtutorial JAVA 15 02 GUI2 ฟรีtutorial JAVA 15 03.GUI3 ฟรีtutorial JAVA 16 using WindowBuilder ฟรีtutorial JAVA 17 event ฟรีtutorial JAVA 18 database management system ฟรีtutorial JAVA 19 ER diagram ฟรีtutorial JAVA 20 Relational ฟรีtutorial JAVA 21 Xampp ฟรีtutorial JAVA 22 JDBC ฟรีtutorial JAVA 23 MVC ฟรีtutorial JAVA 24 SQL ฟรีtutorial JAVA
ขอย้ำอีกครั้งว่าเนื้อหาที่เห็นอยู่นี้ไม่ใช่เนื้อหาตามปกติที่เราสอนในห้องเรียนเป็นแค่ tutorial ไว้อ่านประกอบเฉยๆ แทบไม่เกี่ยวกันเลย และไม่เกี่ยวกับการบ้านที่ทำครับ ในห้องเรียนเนื้อหาจะเยอะกว่านี้ค่อนข้างมากครับ
ขอบคุณน้องตี้ อย่างสูงสำหรับ Tutorial ดีๆ

ฟรี TUTORIAL DATA STRUCTURE

DATA STRUCTURE

ฟรีtutorial : DATA STRUCTURE : 01 1การเรียงลำดับ(Sorting) ฟรีtutorial : DATA STRUCTURE : 01 2 การเรียงลำดับ2 ฟรีtutorial : DATA STRUCTURE : 02 อาร์เรย์ลิสต์ (Array List) ฟรีtutorial : DATA STRUCTURE : 03 ลิงค์ลิสต์ (Linked List) ฟรีtutorial : DATA STRUCTURE : 04 สแต๊ค ฟรีtutorial : DATA STRUCTURE : 05 1 คิวและไพออริตี้คิว ฟรีtutorial : DATA STRUCTURE : 05 2 คิวและไพออริตี้คิว ฟรีtutorial : DATA STRUCTURE : 06 1 ไบนารีทรี ฟรีtutorial : DATA STRUCTURE : 06 2 ไบนารีเสิร์ชทรี ฟรีtutorial : DATA STRUCTURE : 06 3 ไบนารีเสิร์ชทรี ฟรีtutorial : DATA STRUCTURE : 08 แฮช ฟรีtutorial : DATA STRUCTURE : 09 กราฟ ฟรีtutorial : DATA STRUCTURE :
ขอย้ำอีกครั้งว่าเนื้อหาที่เห็นอยู่นี้ไม่ใช่เนื้อหาตามปกติที่เราสอนในห้องเรียนเป็นแค่ tutorial ไว้อ่านประกอบเฉยๆ แทบไม่เกี่ยวกันเลย และไม่เกี่ยวกับการบ้านที่ทำครับ ในห้องเรียนเนื้อหาจะเยอะกว่านี้ค่อนข้างมากครับ
ขอบคุณน้องตี้ อย่างสูงสำหรับ Tutorial ดีๆ

สแต็ค(Stack)

            สแต็คหรืออาจะเรียกได้ว่า LIFO (Last-In-First-Out) เพราะลักษณะการเก็บข้อมูลของสแต็คที่ทำงานแบบเก็บข้อมูลลงไปเรื่อยแต่เมื่อต้องการดูข้อมูล ตัวสุดท้ายที่เข้ามาจะถูกเรียกออกไปก่อน ซึ่งหมายความว่าตัวแรกสุดที่ใส่เข้าไปก็จะออกมาเป็นตัวสุดท้าย ซึ่งเมท็อดที่อยู่ในสแต็คก็จำได้ง่าย คือมี เพิ่ม ลบ และเรียกดูข้อมูล

Stack

 

            สมมติเก็บข้อมูลเป็นชื่อของโซเชียลเน็ตเวิร์คต่างๆ เมื่อทำการเพิ่ม(push) “Line” ลงไปในสแต็ค “Line” ก็จะไปอยู่บนสุดของสแต็ค เมื่อต้องการลบข้อมูลด้วย pop() ข้อมูลที่เพิ่งเพิ่มเข้าไปล่าสุดซึ่งในที่นี้คือ “Line” ก็จะถูกลบออกไปก่อน ส่วน peek() สามารถดูได้แค่ข้อมูลบนสุดเมื่อ pop “Line” ออกไปแล้ว การ peek เลยจะได้ “Facebook”

            การสร้างสแต็คสามารถสร้างได้จาก list เช่น ArrayList และ การเก็บข้อมูลcollection เช่น Array ความแตกต่างกันก็คือถ้าใช้ Array ก็เป็นการเก็บข้อมูลตรงๆเลย เพิ่มท้ายอาร์เรย์ ดูท้ายอาร์เรย์ แต่ถ้าใช้ ArrayList การสั่งงานต่างของสแต็คจะต้องทำการเรียกใช้งาน ArrayList ก่อนก็จะเสียเวลา

สร้างสแต็คด้วย Arraylist

            สร้างสแต็คด้วยอาร์เรย์ลิสต์ก็ไม่มีอะไรมากเพราะถ้าสร้างอาร์เรย์ลิสต์ไว้อยู่แล้วก็สามารถสร้างอ็อปเจ็คของอาร์เรย์ลิสต์มาใช้งานได้เลย

 

รูป 4-2

บรรทัดที่ 3 : สร้างคลาส Stack แต่นี่ใช้อาร์เรย์ลิสต์เลยเพิ่มคำว่า List ไปเพื่อจะได้ไม่สับสน

บรรทัดที่ 5 : สร้างอ็อปเจ็คของคลาส ArrayList

บรรทัดที่ 7-9: สร้างเมท็อดเรียก size สามารถให้อ็อปเจ็บเรียก size(); ของคลาส ArrayList ได้เลย

บรรทัดที่ 12 : สร้างเมท็อด push(ชนิดตัวแปร ชื่อตัวแปร) สำหรับเพิ่มข้อมูล

บรรทัดที่ 14 : เรียก add ของ ArrayList

บรรทัดที่ 17 : สร้างเมท็อด pop สำหรับลบข้อมูล

บรรทัดที่ 19 : ให้ตัวแปร e เก็บค่าของข้อมูลตัวสุดท้ายที่ใส่เข้าไป

บรรทัดที่ 20 : เรียกเมท็อด removeAt ของ ArrayList ลบค่าของตัวสุดท้าย

บรรทัดที่ 21 : ได้ e ที่ไม่มีข้อมูลแล้ว คือค่านี้ออกไป

บรรทัดที่ 24 : สร้างเมท็อด peek สำหรับขอดูข้อมูล

บรรทัดที่ 26 : เรียกเมท็อด get ของ ArrayList หาค่าของตัวสุดท้าย

สร้างสแต็คด้วย Array

 

รูป4-3

บรรทัดที่ 3 : สร้างคลาสแต็ค

บรรทัดที่ 5 : สร้างตัวแปร data เป็นอาร์เรย์เก็บข้อมูลประเภท int กำหนดขนาดเริ่มต้นเป็น 1 เพราะเดี๋ยวเค้าให้ขยายขนาด

บรรทัดที่ 6 : สร้างตัวแปร size

บรรทัดที่ 8-9 : สร้างเมท็อด size คืนขนาดของ size เหมือนเดิม

บรรทัดที่ 13 : เมท็อด push ของสแต็คที่เขียนด้วยอาร์เรย์จะต้องเขียนใหม่ไม่เหมือนกับอาร์เรย์ลิสต์ที่เอาอาร์เรย์ลิสต์มาใช้ได้เลย

บรรทัดที่ 15 : ตรวจสอบเงื่อนไขถ้าเป็นกรณีที่ size เท่ากับขนาดของข้อมูลก็คือเต็มให้ขยายขนาด

บรรทัดที่ 17 : สร้างอาร์เรย์ใหม่ให้ขนาดใหญ่ขึ้นจากข้อมูลที่มีเป็น 2 เท่า

บรรทัดที่ 18-19 : วนลูปขนาดเท่า size เอาข้อมูลเดิมที่มีอยู่ไปใส่ในอาร์เรย์ใหม่

บรรทัดที่ 22 : ให้ตัวแปรทั้งสองตัวชี้ไปที่สิ่งเดียวกัน

บรรทัดที่ 24 : เอาข้อมูลที่รับพารามิเตร์มามาใส่ที่ตำแหน่งสุดท้าย

บรรทัดที่ 27 : เมท็อด pop() สำหรับลบ

บรรทัดที่ 29 : สร้างตัวแปร i ให้เป็นข้อมูลตัวสุดท้าย

บรรทัดที่ 30 : ลบข้อมูลตัวสุดท้ายออก

บรรทัดที่ 31 : คืนค่าตัวสุดท้ายออกไป

บรรทัดที่ 34 : เมท็อด peek() สำหรับดูข้อมูลตัวสุดท้าย

บรรทัดที่ 36 : คืนค่าข้อมูลตัวสุดท้าย

 



แผนผังการเรียนเขียนโปรแกรม

>