美文网首页
单链表倒数第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