Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. โปรแกรม C++ สำหรับ Hash Tables Chaining ด้วย List Heads

    ตารางแฮช (Hash Table) เป็นโครงสร้างข้อมูลสำหรับจัดเก็บคู่คีย์-ค่า ฟังก์ชันแฮชคำนวณดัชนีในอาร์เรย์สำหรับแทรกหรือค้นหานี่คือโปรแกรม C++ สำหรับ Hash Tables Chaining ด้วย List Headsอัลกอริทึมการแทรก (Insert):n = new ListHead(k, v) End.การค้นหาคีย์ (Search Key):v Endการลบ (Delete):n = n End.โค้ดตัวอย่างn

  2. โปรแกรม C++ สำหรับ Hash Tables Chaining ด้วย Singly Linked Lists

    ตารางแฮช (Hash Table) เป็นโครงสร้างข้อมูลสำหรับจัดเก็บคู่คีย์-ค่า ฟังก์ชันแฮชคำนวณดัชนีในอาร์เรย์สำหรับแทรกหรือค้นหานี่คือโปรแกรม C++ สำหรับ Hash Tables Chaining โดยใช้ Singly Linked Listsอัลกอริทึมการแทรก (Insert):v = v End.การลบ (Delete):n delete en; Print Element Deleted End.การค้นหาคีย์

  3. โปรแกรม C++ สำหรับการนำ Hash Tables มาใช้งานด้วย Double Hashing

    ตารางแฮช (Hash Table) เป็นโครงสร้างข้อมูลสำหรับจัดเก็บคู่คีย์-ค่า ฟังก์ชันแฮชใช้คำนวณดัชนีในอาร์เรย์สำหรับการแทรกหรือค้นหาข้อมูลDouble Hashing เป็นเทคนิคแก้ไขการชนในตารางแฮชแบบเปิด (Open Addressing) โดยใช้ฟังก์ชันแฮชที่สองเมื่อเกิดการชนนี่คือโปรแกรม C++ สำหรับการนำ Hash Tables มาใช้งานด้วย Double Ha

  4. โปรแกรม C++ สำหรับการนำ Rolling Hash มาใช้งาน

    Rolling Hash เป็นฟังก์ชันแฮชที่คำนวณค่าแฮชของข้อมูลในหน้าต่างเลื่อน (Sliding Window) ที่เคลื่อนผ่านข้อมูลนำเข้าอัลกอริทึม Rabin-Karp เป็นแอปพลิเคชันยอดนิยมของ Rolling Hash ฟังก์ชันแฮชแบบเลื่อนที่ Rabin และ Karp เสนอ คำนวณค่าเป็นจำนวนเต็ม สำหรับสตริง ค่าจำนวนเต็มนี้คือค่าตัวเลขของสตริงนั้นอัลกอริทึมค

  5. โปรแกรม C++ สำหรับการนำ Hash Tables มาใช้งานด้วย Linear Probing

    ตารางแฮช (Hash Table) เป็นโครงสร้างข้อมูลที่ใช้จัดเก็บคู่คีย์-ค่า (Key-Value Pairs) ฟังก์ชันแฮช (Hash Function) ถูกใช้โดยตารางแฮชเพื่อคำนวณดัชนี (Index) ลงในอาร์เรย์ ซึ่งจะเป็นตำแหน่งที่ข้อมูลจะถูกแทรกหรือค้นหาLinear Probing เป็นเทคนิคการแก้ไขการชน (Collision Resolution) ในตารางแฮชแบบเปิด (Open Addr

  6. ตัวดำเนินการแปลงชนิดข้อมูล (Conversion Operators) ใน C++

    ในบทความนี้ เราจะมาเรียนรู้เกี่ยวกับตัวดำเนินการแปลงชนิดข้อมูล (Conversion Operators) ในภาษา C++ ซึ่งรองรับการออกแบบเชิงวัตถุ (Object-Oriented Design) ทำให้เราสามารถสร้างคลาสสำหรับวัตถุในโลกจริงเป็นชนิดข้อมูลเฉพาะ (Concrete Types) ได้บางครั้งเราต้องการแปลงวัตถุของชนิดข้อมูลเฉพาะไปเป็นชนิดข้อมูลอื่น

  7. Placement New Operator ใน C++ (บทความซ้ำ)

    Placement New Operator ใน C++ Placement new เป็นรูปแบบหนึ่งของ operator new ปกติ new ทำ 2 อย่าง: จองหน่วยความจำ และสร้างออบเจ็กต์ในหน่วยความจำนั้น new ธรรมดาจองใน heap แต placement new สร้างออบเจ็กต์ที่ address ที่กำหนด ไม่มี placement delete ต้องจัดการหน่วยความจำเอง Placement new ใช้ สร้าง ออบเจ็

  8. การใช้งาน Placement New ใน C++

    Placement New Operator ใน C++ Placement new เป็นรูปแบบหนึ่งของ operator new ปกติ new ทำ 2 อย่าง: จองหน่วยความจำ และสร้างออบเจ็กต์ในหน่วยความจำนั้น new ธรรมดาจองใน heap แต placement new สร้างออบเจ็กต์ที่ address ที่กำหนด ไม่มี placement delete ต้องจัดการหน่วยความจำเอง Placement new ใช้ สร้าง ออบเจ็

  9. Heap Overflow และ Stack Overflow ใน C++

    Heap Overflow Heap ใช้เก็บตัวแปรแบบไดนามิก (dynamic variables) เป็นพื้นที่หน่วยความจำของ process ฟังก์ชัน malloc(), calloc(), realloc() ใช้จองหน่วยความจำใน heap Heap overflow เกิดขึ้นเมื่อ: ก) จองตัวแปรไดนามิกจำนวนมากเกินไป int main() { float *ptr = (int *)malloc(sizeof(float)*1000000.0); }

  10. การใช้จำนวนอาร์กิวเมนต์แปรผัน (Variable Arguments) ใน C++

    Variable Number of Arguments ใน C++ บางครั้งอาจต้องการฟังก์ชันที่รับจำนวนพารามิเตอร์ไม่คงที่ แทนที่จะเป็นจำนวนคงที่ C/C++ รองรับความสามารถนี้ โดยใช้ ellipsis (...) และ header <cstdarg> (หรือ stdarg.h) ฟังก์ชันจะมีพารามิเตอร์สุดท้ายเป็น ellipsis และพารามิเตอร์ก่อนหน้าเป็น int แทนจำนวนอาร์กิวเ

  11. โปรแกรม C++ ใช้งาน Hash Tables ด้วย Quadratic Probing

    Hash Tables ด้วย Quadratic Probing Hash table เก็บคู่ key-value ใช้ hash function คำนวณ index Quadratic probing เป็นเทคนิคแก้ collision ใน Open Addressed Hash tables ทำงานโดยเอา hash index เดิมบวกค่า quadratic polynomial ถัดไปจนหา slot ว่าง อัลกอริทึม สำหรับค้นหา key: s return pos End สำหรับ

  12. การโยน Exception จาก Constructor ใน C++

    การโยน Exception จาก Constructor ใน C++ นี่คือตัวอย่างง่ายๆ ของการโยน exception จาก constructor ใน C++ อัลกอริทึม Begin ประกาศคลาส sample1 Constructor: พิมพ์ Construct an Object of sample1 Destructor: พิมพ์ Destruct an Object of sample1 ประกาศคลาส sample2 Constructo

  13. การสร้าง Hash Table เองด้วย Open Addressing Linear Probing ใน C++

    การสร้าง Hash Table ด้วย Linear Probing Hash table เป็นโครงสร้างข้อมูลเก็บคู่ key-value ใช้ hash function คำนวณ index ในอาเรย์สำหรับ insert หรือ search Linear probing เป็นเทคนิคแก้ไข collision ใน Open Addressed Hash tables แต่ละเซลล์เก็บ key-value pair เดียว หาก collision เกิดขึ้น (key ใหม่ map ไป

  14. ความแตกต่างระหว่าง ++*p, *p++ และ *++p ใน C++

    ความแตกต่างระหว่าง *ptr++, *++ptr และ ++*ptr ใน C++ ในส่วนนี้เราจะดูความแตกต่างระหว่าง *ptr++, *++ptr และ ++*ptr ใน C++ ลำดับความสำคัญ (precedence) ของ postfix ++ และ prefix ++ ใน C/C++ คือ prefix ++ หรือ -- มีความสำคัญสูงกว่า dereference operator * และ postfix ++ หรือ -- มีความสำคัญสูงกว่าทั้ง pr

  15. โปรแกรม C++ ใช้งาน AVL Tree

    การใช้งาน AVL Tree ใน C++ AVL tree เป็น Binary Search Tree ที่ปรับสมดุลเอง (self-balancing) โดยความสูงของ subtree ซ้ายและขวาแตกต่างกันไม่เกิน 1 สำหรับทุกโหนด Tree rotation เป็นการดำเนินการเปลี่ยนโครงสร้างโดยไม่กระทบลำดับขององค์ประกอบใน AVL tree ย้ายโหนดหนึ่งขึ้น และอีกโหนดหนึ่งลง ใช้เปลี่ยนรูปร่าง

  16. Inline Virtual Function ใน C++: เมื่อไหร่ Inline ได้/ไม่ได้

    Virtual functions และ inline functions มีเป้าหมายต่างกัน: Virtual สำหรับ runtime polymorphism, Inline สำหรับ compile-time optimization แต่สามารถร่วมกันได้ในบางกรณี กฎสำคัญ: When Can Virtual Be Inlined? การเรียกStatic TypeDynamic TypeInline ได้ไหม? obj.func()Known (Derived)Known (Derived)✅ **ได้

  17. ความแตกต่างระหว่าง Virtual Function และ Pure Virtual Function ใน C++

    Virtual function และ Pure virtual function ทั้งคู่ใช้สำหรับ polymorphism แต่มีจุดประสงค์และข้อกำหนดที่แตกต่างกัน ตารางเปรียบเทียบ คุณสมบัติVirtual FunctionPure Virtual Function Syntaxvirtual void foo() { ... }virtual void foo() = 0; Implementation ใน Baseมี (optional override)ไม่มี (ต้อง overri

  18. การเรียก Virtual Functions ภายใน Constructor/Destructor ใน C++: อันตรายและข้อควรระวัง

    การเรียก virtual function ภายใน constructor หรือ destructor เป็น **อันตรายและควรหลีกเลี่ยง** เพราะพฤติกรรมไม่ได้เป็นไปตามที่คาดหวัง (ไม่ได้เรียก derived version) เหตุผล: Construction/Destruction Order Construction: Base constructor รัน **ก่อน** Derived constructor Destruction: Derived destructor ร

  19. Virtual Functions สามารถมี Default Parameters ได้ไหมใน C++?

    ได้** Virtual functions ใน C++ สามารถมี default parameters ได้ แต่มีพฤติกรรมพิเศษที่ต้องระวัง กฎสำคัญ: Default Parameters ผูกที่ Compile-time (Static Binding) Default arguments **ไม่ได้เป็นส่วนหนึ่งของ function signature** Default value ถูก.resolve() ที่ **compile-time** ตาม **static type** ของ po

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:43/301  20-คอมพิวเตอร์/Page Goto:1 37 38 39 40 41 42 43 44 45 46 47 48 49