数据结构(一)

.链表(初始,还不知道有什么用,以后更新)

 

(1)单链表

1.head 表示头指针下标

2.e[i]储存节点的值,ne[i]储存下一节点的地址。

链表.png

 

单链表

(2)单调栈(目前认知的作用:寻找左边第一个小于自身的数)

题:https://www.acwing.com/problem/content/832/

在这里插入图片描述

 原理,保证入栈元素的单调性,如果要入的元素比顶部元素小,那么顶部元素一定就不是之后的解了。

 

#include<iostream>
using namespace std;
const int N=100010;
int n;
int stk[N],tt;
int main()
{
    cin>>n;
    while(n--)
    {
        int x;
        cin>>x;
        while(tt&&stk[tt]>=x) tt--;
        if(tt) cout<<stk[tt]<<" ";
        else cout<<"-1"<<" ";
        
        stk[++tt]=x;
        
    }
    
    
    
    

    return 0;
}

其余的学习内容分块发,不喜欢文章又臭又长。


版权声明:本文为qq_52048593原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。