单链表
初始化!!!
head = -1
idx = 0
向头节点插入
void add_head(int num){
v[idx] = num;
ne[idx] = head;
head = idx ++;
}
向第k个数后插入
void add(int k,int num){
v[idx] = num;
ne[idx] = ne[k];
ne[k] = idx ++;
}
删除第k个数后面的数(注意头节点特判)
void remove(int k){
if(k < 0) head = ne[head]; //这种情况说明是删除头节点后面的数,传进来的是k-1
else ne[k] = ne[ne[k]];
}
双链表
初始化
void init(){
l[1] = 0;
r[0] = 1;
idx = 2;
}
向表中插入数据
void add(int k,int num){
v[idx] = num;
r[idx] = r[k];
l[idx] = k;
l[r[k]] = idx;
r[k] = idx;
idx ++;
}
删除第k个数后面的数
void remove(int k){
r[l[k]] = r[k];
l[r[k]] = l[k];
}
栈
入栈、出栈和空栈
idx = 0;
void push(int num){
stk[idx ++] = num;
}
void pop(){
idx --;
}
bool empty(){
return (idx == 0);
}
队列
入队、出队和空队
int hh = 0,tt = -1;
bool empty(){
return (hh > tt);
}
void push(int num){
q[++ tt] = num;
}
void pop(){
hh ++;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具