列表是C++中用于以非连续方式存储数据的容器。通常,数组和向量本质上是连续的,因此,与列表中的插入和删除选项相比,插入和删除操作的成本更高。
list::front()
此函数用于引用列表容器的第一个元素。此函数可用于获取列表的第一个元素。
用法:
listname.front() 参数: No value is needed to pass as the parameter. 返回: Direct reference to the first element of the list container.
例子:
Input :list list{1, 2, 3, 4, 5}; list.front(); Output:1 Input :list list{0, 1, 2, 3, 4, 5}; list.front(); Output:0
错误和异常
- 如果列表容器为空,则会导致未定义的行为
- 如果列表不为空,则没有抛出异常的保证
// CPP program to illustrate
// Implementation of front() function
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> mylist{ 1, 2, 3, 4, 5 };
cout << mylist.front();
return 0;
}
输出:
1
list::back()
此函数用于引用列表容器的最后一个元素。此函数可用于从列表末尾获取第一个元素。
用法:
listname.back() 参数: No value is needed to pass as the parameter. 返回: Direct reference to the last element of the list container.
例子:
Input :list list{1, 2, 3, 4, 5}; list.back(); Output:5 Input :list list{1, 2, 3, 4, 5, 6}; list.back(); Output:6
错误和异常
- 如果列表容器为空,则会导致未定义的行为
- 如果列表不为空,则没有抛出异常的保证
// CPP program to illustrate
// Implementation of back() function
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> mylist{ 1, 2, 3, 4, 5 };
cout << mylist.back();
return 0;
}
输出:
5
应用
给定一个空的整数列表,将数字添加到列表中,然后打印第一个元素与最后一个元素之间的差。
Input:1, 2, 3, 4, 5, 6, 7, 8 Output:7 Explanation: Last element = 8, First element = 1, Difference = 7
算法
1.使用push_front()或push_back()函数将数字添加到列表中。2.比较第一个和最后一个元素。 3.如果第一个元素较大,则从中减去最后一个元素并打印。 4.否则从最后一个元素中减去第一个元素并打印出来。
// CPP program to illustrate
// application Of front() and back() function
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> mylist{};
mylist.push_front(8);
mylist.push_front(7);
mylist.push_front(6);
mylist.push_front(5);
mylist.push_front(4);
mylist.push_front(3);
mylist.push_front(2);
mylist.push_front(1);
// list becomes 1, 2, 3, 4, 5, 6, 7, 8
if (mylist.front() > mylist.back()) {
cout << mylist.front() - mylist.back();
}
else if (mylist.front() < mylist.back()) {
cout << mylist.back() - mylist.front();
}
else
cout << "0";
}
输出:
7
相关用法
注:本文由纯净天空筛选整理自AyushSaxena大神的英文原创作品 list::front() and list::back() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。