cin和scanf效率对比

从作者开始学习C++到现在,经常听说C++中cin/cout的效率比C语言的scanf/printf差很多,也偶尔会在一些其他博主的博客上看到过一些相关的实验和分析,由于一些个人原因也未曾亲自测试过。这两天又重新思考了一下这个问题,于是就动手写了一些代码来做实验,但结果却出乎我的意料。

C++容器:list

C++中的list是一个双向链表,也是一种序列容器,它可以在任何位置高效地插入和删除元素,支持正向迭代和反向迭代。在list中,每个元素保存在一个结点中,相邻的结点使用指针连接起来(前一个结点的后向指针指向后一个结点,后一个结点的前向指针指向前一个结点)。因此,要想找到位于第i个位置的元素,需要从第一个元素开始,顺着指针依次找下去,导致该操作的时间复杂度为O(n)。