Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

list::front() และ list::back() ใน C++ STL


ในบทความนี้เราจะอธิบายการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน list::front() และ list::back() ใน C++ Standard Template Library (STL)

List ใน STL คืออะไร?

List เป็นโครงสร้างข้อมูลที่รองรับการแทรกและลบข้อมูลได้ในเวลาคงที่ (constant time) ที่ตำแหน่งใดก็ได้ในลำดับ List ถูกนำไปใช้งานเป็น doubly linked list (รายการเชื่อมโยงสองทิศทาง) ทำให้จัดสรรหน่วยความจำแบบไม่ต่อเนื่องได้ List ให้ประสิทธิภาพการแทรก ดึง และย้ายข้อมูลที่ตำแหน่งใดก็ได้ในคอนเทนเนอร์ดีกว่า array, vector และ deque อย่างไรก็ตาม การเข้าถึงข้อมูลโดยตรง (random access) ใน List ช้ากว่า และ List คล้ายกับ forward_list แต่ forward_list เป็น singly linked list (รายการเชื่อมโยงทิศทางเดียว) จึงวนลูปได้เฉพาะทิศทางไปข้างหน้าเท่านั้น

list::front() คืออะไร?

list::front() เป็นฟังก์ชันในตัวของ C++ STL ที่ประกาศในไฟล์ header <list> ฟังก์ชันนี้ใช้สำหรับอ้างอิงถึง องค์ประกอบตัวแรก ของ list container ฟังก์ชันนี้ส่งคืน reference (อ้างอิง) ไปยังองค์ประกอบตัวแรกโดยตรง ในขณะที่ list::begin() ส่งคืน iterator ที่ชี้ไปยังองค์ประกอบแรกของ list ที่เกี่ยวข้อง

ไวยากรณ์ (Syntax)

mylist.front();

พารามิเตอร์ (Parameters)

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ตัวอย่างการใช้งาน

Input: list<int> List_container = {10, 11, 13, 15};
List_container.front();
Output: Front element = 10

ค่าที่ส่งคืน (Return Value)

ฟังก์ชันนี้ส่งคืน reference ไปยังองค์ประกอบตัวแรกของ list container ที่เกี่ยวข้อง

ตัวอย่างโค้ดเต็ม

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> myList = { 10, 20, 30, 40, 50 };
    cout << "Front element in my list is : " << myList.front();
    return 0;
}

ผลลัพธ์ (Output)

Front element in my list is : 10

list::back() คืออะไร?

list::back() เป็นฟังก์ชันในตัวของ C++ STL ที่ประกาศในไฟล์ header <list> ฟังก์ชันนี้ใช้สำหรับอ้างอิงถึง องค์ประกอบตัวสุดท้าย ของ list container ฟังก์ชันนี้ส่งคืน reference ไปยังองค์ประกอบตัวสุดท้ายโดยตรง หาก list ว่างเปล่า ฟังก์ชันนี้จะมีพฤติกรรมที่ไม่ได้กำหนด (undefined behaviour)

ไวยากรณ์ (Syntax)

mylist.back();

พารามิเตอร์ (Parameters)

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ตัวอย่างการใช้งาน

Input: list<int> List_container = {10, 11, 13, 15};
List_container.back();
Output: Back element = 15

ค่าที่ส่งคืน (Return Value)

ฟังก์ชันนี้ส่งคืน reference ไปยังองค์ประกอบตัวสุดท้ายของ list container

ตัวอย่างโค้ดเต็ม

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> myList = { 10, 20, 30, 40, 50 };
    cout << "Last element in list is : " << myList.back();
    return 0;
}

ผลลัพธ์ (Output)

Last element in list is : 50