ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน list::pop_back() ใน C++
รายการใน STL คืออะไร
รายการเป็นโครงสร้างข้อมูลที่อนุญาตให้แทรกและลบเวลาคงที่ได้ทุกที่ตามลำดับ รายการถูกนำไปใช้เป็นรายการที่เชื่อมโยงเป็นสองเท่า รายการอนุญาตการจัดสรรหน่วยความจำที่ไม่ต่อเนื่องกัน List ทำการดึงการแทรกและย้ายองค์ประกอบได้ดีกว่าในตำแหน่งใดๆ ในคอนเทนเนอร์ มากกว่าอาร์เรย์ เวกเตอร์ และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงนั้นช้าและ list นั้นคล้ายกับ forward_list แต่ออบเจกต์ของรายการส่งต่อเป็นรายการที่เชื่อมโยงเพียงรายการเดียว และสามารถทำซ้ำได้เพียงส่งต่อเท่านั้น
รายการ::pop_back() คืออะไร
list::pop_back() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว pop_back() ใช้เพื่อลบ/เปิดองค์ประกอบจากด้านหลังหรือคอนเทนเนอร์รายการสุดท้าย เมื่อเราใช้ pop_back มันจะลบ/เปิดองค์ประกอบสุดท้ายและองค์ประกอบก่อนที่องค์ประกอบสุดท้ายจะกลายเป็นองค์ประกอบสุดท้าย และขนาดของคอนเทนเนอร์รายการจะลดลง 1
ไวยากรณ์
list_container.pop_back();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
ผลตอบแทนที่ได้รับ
ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด
ตัวอย่าง
ในโค้ดด้านล่าง เราต้องลบองค์ประกอบออกจากท้ายรายการโดยใช้ฟังก์ชัน functionpop_back()
#include <bits/stdc++.h>
using namespace std;
int main(){
//create a list
list<int> myList;
//inserting elements to a list
myList.push_back(4);
myList.push_back(9);
myList.push_back(1);
myList.push_back(3);
//list before poping out the elements
cout<<"list elements before deletion : ";
for (auto i = myList.begin(); i != myList.end(); i++)
cout << *i << " ";
//removing elements from the end of a list using pop_back()
myList.pop_back();
// List after removing element from end
cout << "\nList after deleting element from the end: ";
for (auto i = myList.begin(); i != myList.end(); i++)
cout << *i << " ";
return 0;
} ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
list elements before deletion : 4 9 1 3 List after deleting element from the end: 4 9 1
ตัวอย่าง
ในโค้ดด้านล่าง เราต้องลบองค์ประกอบออกจากส่วนท้ายของรายการโดยใช้ฟังก์ชัน functionpop_back() และด้วยการลบ เรากำลังสร้างผลคูณของตัวเลขในรายการ
#include <bits/stdc++.h>
using namespace std;
int main(){
list<int> myList;
int product = 1;
myList.push_back (40);
myList.push_back (20);
myList.push_back (30);
while (!myList.empty()){
product*=myList.back();
myList.pop_back();
}
cout<<"The product of elements in my list : "<<product<< '\n';
return 0;
} ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
The product of elements in my list : 24000