ผลต่างระหว่างรุ่นของ "ไลบรารีแม่แบบมาตรฐานของภาษาซีพลัสพลัส/deque"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Nullzero (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
Nullzero (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
บรรทัดที่ 3:
 
[[ADT]] ของ deque ต้องการเพียงการจัดการกับข้อมูลส่วนด้านหน้าและปลายเท่านั้น ซึ่งอาจใช้ [[list]] ในการเขียนก็ได้
แต่ **'''deque ของ STL ได้เพิ่มความสามารถ [[random access]] ทำให้สามารถเข้าถึงข้อมูลตัวใดๆได้ด้วย [[operator]] []
(เหมือน vector)**'''
 
== การใช้งานและการประกาศตัวแปร ==
บรรทัดที่ 14:
=== push_back ===
 
{{STLdata
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการเพิ่มข้อมูลชนิด T ลงทางด้านปลายของ deque ใช้เวลา [[big oh|O]]<math>O(1)</math> ||
||~ parameter || มีเพียงตัวเดียวคือข้อมูลชนิด T ที่ต้องการจะใส่ลง deque ทางด้านปลาย |
|
||~ prototype || void push_back(T); ||
||~ return || ไม่มี ||
}}
||~ prototype || void push_back(T); ||
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
=== push_front ===
 
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการเพิ่มข้อมูลชนิด T ลงทางด้านหน้าของ deque ใช้เวลา [[big oh|O]]<math>(1)</math> ||
||~ parameter || มีเพียงตัวเดียวคือข้อมูลชนิด T ที่ต้องการจะใส่ลง deque ทางด้านหน้า |
|
||~ prototype || void push_front(T); ||
||~ return || ไม่มี ||
}}
||~ prototype || void push_front(T); ||
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
=== pop_back ===
 
{{STLdata
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการลบข้อมูลชนิด T ทางด้านปลายของ deque ใช้เวลา <math>O(1)</math> _
|
**ข้อควรระวัง : หาก size ของ deque เป็น 0 จะเกิด error** ||
|
||~ parameter || ไม่มี ||
||~ prototype || void pop_back(); ||
||~ return || ไม่มี ||
**ข้อควรระวัง :| หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ prototype || void pop_back(); ||
}}
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
=== pop_front ===
 
{{STLdata
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการลบข้อมูลชนิด T ทางด้านหน้าของ deque ใช้เวลา <math>O(1)</math> _
|
**ข้อควรระวัง : หาก size ของ deque เป็น 0 จะเกิด error** ||
|
||~ parameter || ไม่มี ||
||~ prototype || void pop_front(); ||
||~ return || ไม่มี ||
**ข้อควรระวัง :| หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ prototype || void pop_front(); ||
}}
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
=== front ===
 
{{STLdata
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาค่าที่อยู่ด้านหน้าของ deque ใช้เวลา <math>O(1)</math> _
|
**ข้อควรระวัง : หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ return || ข้อมูลชนิด T ที่อยู่ด้านหน้าของ deque ||
||~ parameter || ไม่มี ||
| T front();
||~ return || ข้อมูลชนิด T ที่อยู่ด้านหน้าของ deque ||
**ข้อควรระวัง :| หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ prototype || T front(); ||
}}
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
=== back ===
 
{{STLdata
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาค่าที่อยู่ด้านปลายของ deque ใช้เวลา <math>O(1)</math> _
|
**ข้อควรระวัง : หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ return || ข้อมูลชนิด T ที่อยู่ด้านปลายของ deque ||
||~ parameter || ไม่มี ||
| T back();
||~ return || ข้อมูลชนิด T ที่อยู่ด้านปลายของ deque ||
**ข้อควรระวัง :| หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ prototype || T back(); ||
}}
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
=== size ===
 
{{STLdata
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาว่าขณะนี้ deque มีขนาดเท่าไหร่ ใช้เวลา <math>O(1)</math> |
|
||~ return || จำนวนเต็ม บอกถึงขนาดของ deque ||
||~ parameter || ไม่มี ||
||~ prototype || int size(); ||
||~ return || จำนวนเต็ม บอกถึงขนาดของ deque ||
}}
||~ prototype || int size(); ||
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
=== empty ===
 
{{STLdata
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาว่าขณะนี้ deque ว่างหรือไม่ ใช้เวลา <math>O(1)</math> |
|
| * ค่า falsetrue เมื่อ deque ไม่ว่าง (ขนาดมากกว่าเป็น 0) ||
||~ parameter || ไม่มี ||
||~ return ||* ค่า truefalse เมื่อ deque ไม่ว่าง (ขนาดเป็นมากกว่า 0) _
||~ prototype || bool empty(); ||
ค่า false เมื่อ deque ไม่ว่าง (ขนาดมากกว่า 0) ||
}}
||~ prototype || bool empty(); ||
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
== operator ==
=== [] ===
 
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาค่าของข้อมูลช่องที่ต้องการแบบ random access ซึ่งใช้เวลา O(1) _
ตัวอย่างการใช้งาน ดูที่ [#samplecode code STL deque] ||
เส้น 106 ⟶ 97:
||~ return || ข้อมูลชนิด T ที่ต้องการหาค่า ||
||~ prototype || T operator[](int); ||
[[/div]]
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
 
 
== ตัวอย่างโค้ด ==