鱼C论坛

 找回密码
 立即注册
查看: 1801|回复: 3

[已解决]数据结构问题

[复制链接]
发表于 2022-5-9 19:30:21 | 显示全部楼层 |阅读模式
20鱼币
写算法,借助于栈将一个单链表逆置
最佳答案
2022-5-9 19:30:22
#include <iostream>
#include <stack>
#include <list>

using std::stack, std::list;
using std::cout, std::endl;
using std::ostream;

template<typename T>
list<T> reverse(const list<T> &l) {
    stack<T> s;
    for(const auto &i: l) s.push(i);
    list<T> result;
    while(!s.empty()) {
        result.push_back(s.top());
        s.pop();
    }
    return result;
}

template<typename T>
ostream &operator<<(ostream &os, const list<T> &rhs) {
    for(const auto &i: rhs) os << i << " ";
    return os;
}

int main() {
    {
        list<int> la = {1, 2, 3, 4};
        list<int> lb = reverse(la);
        cout << lb << endl;
    }
    {
        list<double> la = {11.23, 2.56, 3.98, 4.73};
        list<double> lb = reverse(la);
        cout << lb << endl;
    }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 19:30:22 | 显示全部楼层    本楼为最佳答案   
#include <iostream>
#include <stack>
#include <list>

using std::stack, std::list;
using std::cout, std::endl;
using std::ostream;

template<typename T>
list<T> reverse(const list<T> &l) {
    stack<T> s;
    for(const auto &i: l) s.push(i);
    list<T> result;
    while(!s.empty()) {
        result.push_back(s.top());
        s.pop();
    }
    return result;
}

template<typename T>
ostream &operator<<(ostream &os, const list<T> &rhs) {
    for(const auto &i: rhs) os << i << " ";
    return os;
}

int main() {
    {
        list<int> la = {1, 2, 3, 4};
        list<int> lb = reverse(la);
        cout << lb << endl;
    }
    {
        list<double> la = {11.23, 2.56, 3.98, 4.73};
        list<double> lb = reverse(la);
        cout << lb << endl;
    }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 20:14:17 | 显示全部楼层

去看看力控大佬清晰的解题思路:

剑指 Offer II 024. 反转链表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-14 19:30:45 | 显示全部楼层
s.top
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 21:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表