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

รายการ end () ฟังก์ชั่นใน C ++ STL


ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน list::end() ใน C++

รายการใน STL คืออะไร

รายการเป็นโครงสร้างข้อมูลที่อนุญาตให้แทรกและลบเวลาคงที่ได้ทุกที่ตามลำดับ รายการถูกนำไปใช้เป็นรายการที่เชื่อมโยงเป็นสองเท่า รายการอนุญาตการจัดสรรหน่วยความจำที่ไม่ต่อเนื่องกัน List ทำการดึงการแทรกและย้ายองค์ประกอบได้ดีกว่าในตำแหน่งใดๆ ในคอนเทนเนอร์ มากกว่าอาร์เรย์ เวกเตอร์ และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงนั้นช้าและ list นั้นคล้ายกับ forward_list แต่ออบเจกต์ของรายการส่งต่อเป็นรายการที่เชื่อมโยงเพียงรายการเดียว และสามารถทำซ้ำได้เพียงส่งต่อเท่านั้น

รายการ::end() คืออะไร

list::end() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว end() ส่งคืนตัววนซ้ำซึ่งอ้างอิงไปยังองค์ประกอบถัดจากตำแหน่งสิ้นสุดในคอนเทนเนอร์รายการ ฟังก์ชันนี้ไม่ชี้ไปที่องค์ประกอบใดๆ ในคอนเทนเนอร์

ฟังก์ชันนี้ส่วนใหญ่จะใช้กับ list::begin() เพื่อให้ช่วงของคอนเทนเนอร์รายการเฉพาะ

ไวยากรณ์

list_container.end();

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

ผลตอบแทนที่ได้รับ

ฟังก์ชันนี้จะคืนค่าอดีตไปยังองค์ประกอบสิ้นสุดของคอนเทนเนอร์รายการ

ตัวอย่าง

/*ในโค้ดด้านล่างนี้ เราใช้ฟังก์ชัน end() เพื่อสำรวจองค์ประกอบที่มีอยู่ในรายการโดยใช้ฟังก์ชันที่ให้มา*/

#include <bits/stdc++.h>
using namespace std;
int main(){
   //create a list
   list<int> myList;
   //insert elements to List suing push_back() function
   myList.push_back(67);
   myList.push_back(12);
   myList.push_back(32);
   myList.push_back(780);
   myList.push_back(78);
   cout<<"elements in the list are :\n";
   for (auto j = myList.begin(); j!= myList.end(); j++){
      cout << *j << " ";
   }
   return 0;
}

ตัวอย่าง

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

Elements in the list are:
67 12 32 780 78

ตัวอย่าง

/* ในโค้ดด้านล่าง เราใช้ไฟล์ส่วนหัวเพื่อเข้าถึงองค์ประกอบที่อยู่ในรายการโดยใช้ฟังก์ชัน end() */

#include <iostream>
#include <list>
int main (){
   //creating array of elements
   int values[] = {67, 12, 32, 780, 78};
   //inserting values to the list
   std::list<int> myList (values,values+5);
   std::cout << "elements in the list are :\n";
   //accessing list elements using iterator returned by an end() function
   for (std::list<int>::iterator i = myList.begin() ; i != myList.end(); ++i)
      std::cout << ' ' << *i;
   return 0;
}

ผลลัพธ์

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

Elements in the list are:
67 12 32 780 78