题解 | #遍历链表#用链表的方式做,边插入边排序

遍历链表

https://www.nowcoder.com/practice/7d348aa8b7d24e01a4f10bd023e2fb54

#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;

struct Lnode
{
    int val;
    struct Lnode*next;
    Lnode(int x):val(x),next(nullptr){};
};

int main() {
    int n;
    while(cin>>n)
    {
        int val;
        Lnode* L=new Lnode(-9999);
        Lnode* pre=L;
        for(int i=0;i<n;i++)
        {
            cin>>val;
            Lnode* temp=new Lnode(val);
            if(val>pre->val)
            {
                pre->next=temp;
                pre=pre->next;
            }
            else 
            {
                Lnode* p=L;
                while(p->next->val<val)
                {
                    p=p->next;
                }
                temp->next=p->next;
                p->next=temp;
            }

        }
        while(L->next)
        {
            L=L->next;
            cout<<L->val<<" ";
        }
        cout<<endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

牛客40297450...:不是研究生强,是你强
点赞 评论 收藏
分享
运营你豪哥:1.模板换一个,现在的模板基础信息加个照片已经占了30%的空间。 2.实习经历的描述,按时间倒序标注清楚,选2-3段和你求职意向契合的经历填写。 3.自我评价再改改,要不就删了;怎么感觉自我评价是在介绍你专业的培养体系,看不出重点要突出什么。
听劝,这个简历怎么改
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务