當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ forward_list::front()、forward_list::empty()用法及代碼示例


STL中的轉發列表實現單鏈接列表。從C++ 11引入的前向列表在插入,刪除和移動操作(如排序)方麵比其他容器有用,並且允許時間常數插入和刪除元素。它與列表的不同之處在於前向列表會跟蹤對象的位置僅list的下一個元素同時跟蹤下一個和上一個元素。

forward_list::front()

此函數用於引用轉發列表容器的第一個元素。此函數可用於獲取轉發列表的第一個元素。

用法:


forwardlistname.front()
參數:
No value is needed to pass as the parameter.
返回:
Direct reference to the first element of the container.

例子:

Input :forward_list forwardlist{1, 2, 3, 4, 5};
         forwardlist.front();
Output:1

Input :forward_list forwardlist{0, 1, 2, 3, 4, 5};
         forwardlist.front();
Output:0

錯誤和異常

1.如果轉發列表容器為空,則會導致未定義的行為。
2.如果轉發列表不為空,則沒有異常拋出保證。

// CPP program to illustrate 
// Implementation of front() function 
#include <forward_list> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    forward_list<int> myforwardlist{ 1, 2, 3, 4, 5 }; 
    cout << myforwardlist.front(); 
    return 0; 
}

輸出:

1
forward_list::empty()

empty()函數用於檢查轉發列表容器是否為空。

用法:

forwardlistname.empty()
參數:
No parameters are passed.
返回:
True, if list is empty
False, Otherwise

例子:

Input :forward_list forwardlist{1, 2, 3, 4, 5};
         forwardlist.empty();
Output:False

Input :forward_list forwardlist{};
         forwardlist.empty();
Output:True

錯誤和異常

1.它沒有異常拋出保證。
2.傳遞參數時顯示錯誤。

// CPP program to illustrate 
// Implementation of empty() function 
#include <forward_list> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    forward_list<int> myforwardlist{}; 
    if (myforwardlist.empty()) { 
        cout << "True"; 
    } 
    else { 
        cout << "False"; 
    } 
    return 0; 
}

輸出:

True

應用-front()和empty():給定一個整數列表,請找到所有整數的總和。

Input :1, 5, 6, 3, 9, 2
Output:26
Explanation -  1+5+6+3+9+2 = 26

算法:
1.檢查轉發列表是否為空,如果沒有,則將前元素添加到初始化為0的變量中,然後彈出前元素。
2.重複此步驟,直到轉發列表為空。
3.打印變量的最終值。

// CPP program to illustrate 
// Application of empty() function 
#include <forward_list> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    int sum = 0; 
    forward_list<int> myforwardlist{ 1, 5, 6, 3, 9, 2 }; 
    while (!myforwardlist.empty()) { 
        sum = sum + myforwardlist.front(); 
        myforwardlist.pop_front(); 
    } 
    cout << sum; 
    return 0; 
}

輸出量

26


相關用法


注:本文由純淨天空篩選整理自AyushSaxena大神的英文原創作品 forward_list::front() and forward_list::empty() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。