美文网首页
单链表倒数第n个结点

单链表倒数第n个结点

作者: lxr_ | 来源:发表于2022-09-20 13:30 被阅读0次

使用两个指针it1和it2,初始相差it1指向第一个结点,it2与it1相差n个结点,然后同时1后移,直到it2到NULL,则it1即为倒数第n个结点。

#include <iostream>
#include <forward_list>             //单向链表,没有指向最后一个元素的指针

using namespace std;

int main(int argc, char** argv)
{
    //返回倒数第n=2个迭代器的元素
    int n = 2;
    forward_list<int> l = { 1,2,3,4 };

    forward_list<int>::iterator it1 = l.begin(), it2 = it1;

    while (n--)
    {
        it2++;                      //it2与it1相差n个位置
    }

    while (it2 != l.end())
    {
        it2++;
        it1++;
    }

    cout << *it1 << endl;

    return 0;
}

相关文章

网友评论

      本文标题:单链表倒数第n个结点

      本文链接:https://www.haomeiwen.com/subject/qkuyortx.html