ผลต่างระหว่างรุ่นของ "ไลบรารีแม่แบบมาตรฐานของภาษาซีพลัสพลัส/deque"
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
ล เพิ่มหมวดหมู่:STL C++แล้ว ด้วยฮอทแคต |
ลไม่มีความย่อการแก้ไข |
||
บรรทัดที่ 1:
'''deque''' เป็น
ทั้งด้านหน้าและด้านปลายได้ทั้งคู่ (ถ้า queue จะดำเนินการนำข้อมูลเข้าได้ที่ปลาย และนำข้อมูลออกที่ด้านหน้าได้เท่านั้น)
แต่ **deque ของ STL ได้เพิ่มความสามารถ
(เหมือน vector)**
ต้องนำเข้า header file "deque" โดย <code>#include <deque></code>
ให้ T คือ datatype ใดๆ และ var คือชื่อตัวแปร มีรูปแบบการประกาศตัวแปร deque
▲+ การประกาศตัวแปร
▲ให้ T คือ datatype ใดๆ และ var คือชื่อตัวแปร มีรูปแบบการประกาศตัวแปร deque ดังนี้
▲+ method
▲++ push_back
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการเพิ่มข้อมูลชนิด T ลงทางด้านปลายของ deque ใช้เวลา
||~ parameter || มีเพียงตัวเดียวคือข้อมูลชนิด T ที่ต้องการจะใส่ลง deque ทางด้านปลาย ||
||~ return || ไม่มี ||
เส้น 36 ⟶ 22:
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการเพิ่มข้อมูลชนิด T ลงทางด้านหน้าของ deque ใช้เวลา
||~ parameter || มีเพียงตัวเดียวคือข้อมูลชนิด T ที่ต้องการจะใส่ลง deque ทางด้านหน้า ||
||~ return || ไม่มี ||
เส้น 46 ⟶ 32:
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการลบข้อมูลชนิด T ทางด้านปลายของ deque ใช้เวลา
**ข้อควรระวัง : หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ parameter || ไม่มี ||
เส้น 57 ⟶ 43:
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการลบข้อมูลชนิด T ทางด้านหน้าของ deque ใช้เวลา
**ข้อควรระวัง : หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ parameter || ไม่มี ||
เส้น 68 ⟶ 54:
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาค่าที่อยู่ด้านหน้าของ deque ใช้เวลา
**ข้อควรระวัง : หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ parameter || ไม่มี ||
เส้น 79 ⟶ 65:
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาค่าที่อยู่ด้านปลายของ deque ใช้เวลา
**ข้อควรระวัง : หาก size ของ deque เป็น 0 จะเกิด error** ||
||~ parameter || ไม่มี ||
เส้น 90 ⟶ 76:
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาว่าขณะนี้ deque มีขนาดเท่าไหร่ ใช้เวลา
||~ parameter || ไม่มี ||
||~ return || จำนวนเต็ม บอกถึงขนาดของ deque ||
เส้น 100 ⟶ 86:
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
[[div style="float: left;"]]
||~ คำอธิบาย || เป็นการหาว่าขณะนี้ deque ว่างหรือไม่ ใช้เวลา
||~ parameter || ไม่มี ||
||~ return || ค่า true เมื่อ deque ว่าง (ขนาดเป็น 0) _
เส้น 111 ⟶ 97:
[[ผู้ใช้:Nullzero|Nullzero]] ([[คุยกับผู้ใช้:Nullzero|พูดคุย]]) 14:27, 15 มกราคม 2556 (ICT)
[[div style="float: left;"]]
เส้น 124 ⟶ 110:
== ตัวอย่างโค้ด ==
<source lang="cpp">
#include <cstdio>
#include <deque>
เส้น 136 ⟶ 122:
int main(){
deque <int> Q; // []
Q.push_back(13); // [13]
Q.push_back(12); // [13,12]
Q.pop_front(); // [12]
Q.push_front(11); // [11,12]
Q.pop_back(); // [11]
Q.push_back(5); // [11,5]
printf("%d", Q.back()); // => 5
printf("%d", Q.front()); // => 11
for(int i = 0; i < 4; i++)
Q.push_back(i);
// [11,5,0,1,2,3]
Q.push_front(-1); // [-1,11,5,0,1,2,3]
for(int i = 0; i < Q.size(); i++)
printf("%d ", Q[i]); // => -1 11 5 0 1 2 3
Q.pop_back() // => Error
▲ while(!Q.empty())
Q.pop_front() // => Error▼
Q.front() // => Error▼
Q.
▲ Q.pop_front() // => Error
ST tmp;
▲ Q.front() // => Error
deque <ST> T; // []▼
tmp.a = 5;
tmp.b = 3;
T.push_back(tmp); // [(5,3)]▼
▲ deque <ST> T; // []
printf("%d\n", T.front().b); // => 3▼
▲ T.push_back(tmp); // [(5,3)]
▲ printf("%d\n", T.front().b); // => 3
return 0;
}
</source>
[[หมวดหมู่:STL C++]]
|