当前位置: 首页 > news >正文

上海金山区建设局网站成都旅游攻略四天三夜

上海金山区建设局网站,成都旅游攻略四天三夜,wordpress m1,天元建设集团有限公司人力资源部电话C数据结构算法篇Ⅰ 📟作者主页:慢热的陕西人 🌴专栏链接:C算法 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 主要内容讲解数据结构中的链表结构 文章目录 C数据…

C++数据结构算法篇Ⅰ

📟作者主页:慢热的陕西人

🌴专栏链接:C++算法

📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言

主要内容讲解数据结构中的链表结构

文章目录

  • C++数据结构算法篇Ⅰ
    • Ⅰ. 链表
      • Ⅰ . Ⅰ 单链表
      • Ⅰ. Ⅱ 双链表

Ⅰ. 链表

Ⅰ . Ⅰ 单链表

在C++中我们用list来代替动态的链表,但是new()申请动态内存是非常缓慢的。所以我们在竞赛中一般采用数组的方式模拟实现一种静态的链表;

首先我们需要涉及到四个变量:

//e[idx]  --- 用来存储第idx个节点的值
//ne[idx] --- 用来存储第idx个节点的next指针
//idx     --- 用来表示当前指向的是第idx个节点
//head    --- 用来指向第一个节点

所以如下我们实现一个例题:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

代码:

#include<iostream>using namespace std;#define N 100010int e[N];
int ne[N];
int x;
int idx;
int head;
char op;
int k;void init()
{//我们规定最后一个空节点的地址为-1head = -1;idx = 0;
}void add_to_head(int x)
{e[idx] = x;ne[idx] = head;head = idx++;
}void add(int k, int x)
{e[idx] = x;ne[idx] = ne[k];ne[k] = idx++;
}void remove(int k)
{ne[k] = ne[ne[k]];
}int main()
{int m;cin >> m;init();while (m--){cin >> op;if (op == 'H'){cin >> x;add_to_head(x);}else if (op == 'D'){cin >> k;if (!k) head = ne[head];remove(k - 1);}else{cin >> k >> x;add(k - 1, x);}}for (int i = head; i != -1; i = ne[i]) cout << e[i] << " ";cout << endl;return 0;
}

Ⅰ. Ⅱ 双链表

双链表的实现方式类似,不过变量的参数有所变化

//l[idx]   ---表示的是第idx个节点的左节点的地址
//r[idx]   ---表示的是第idx个节点的有节点的地址
//e[idx]   ---存储的是第idx个节点的值
//head     ---存储的是头节点的地址
//tial     ---存储的是尾节点的地址

在这里插入图片描述

int idx, e[N], l[N], r[N];
int m, tail, head;void init()
{//起始规定0为head,1为tailr[0] = 1, l[1] = 0;idx = 2;head = 0, tail = 1;
}//在下标为k的右边插入x
void addr(int k, int x)
{e[idx] = x;r[idx] = r[k];l[idx] = k;r[k] = idx;l[r[k]] = idx;if (k == tail) tail = idx;idx++;
}
//在下标为k的左边插入x
void addl(int k, int x)
{addr(l[k], x);if (k == head) head = idx;
}//删除第k个点
void remove(int k)
{r[l[k]] = r[k];l[r[k]] = l[k];
}//最右侧插入一个数
void addt(int x)
{addr(tail, x);
}//最左侧插入一个数
void addh(int x)
{addl(head, x);
}

到这本篇博客的内容就到此结束了。
如果觉得本篇博客内容对你有所帮助的话,可以点赞,收藏,顺便关注一下!
如果文章内容有错误,欢迎在评论区指正

在这里插入图片描述

http://www.yayakq.cn/news/849910/

相关文章:

  • 没有域名 怎么做网站链接上海建网站公司排名
  • 门户网站的功能微信公众号网页怎么制作
  • 郑州网站建设排行长沙装修公司排名前十名
  • 营销型网站公司排名自己做网站步骤 域名
  • 表白网站制作平台深圳住房城乡建设局网站首页
  • 网站开发分为前端和后台东莞网站建设和制作
  • 怎样做理财投资网站国外主流媒体网站
  • c 网站开发架构wordpress the content
  • 投资网站怎么做品牌包装设计制作
  • 群团网站建设wordpress调分类目录的方法
  • 顶做抱枕网站个人网站背景图片
  • 上海物流网站建设正规赚佣金的平台
  • 天河手机建网站宁波大型网站设计公司
  • 网站做链接代码wordpress弹幕
  • 浦东新区专业做网站wordpress注册无提示
  • 那个网站推作者微信朋友圈广告推广代理
  • 余姚网站建设服务微信开发网站开发
  • 智慧景区网站建设做网站绑定 对应的域名
  • 内蒙古建设兵团网站机关作风建设网站
  • 效果图网站接单wordpress积分兑换
  • 宝安网站设计案例龙华网站建设销售员
  • 公司做网站的费属于广告费么广西网站建设公司招聘
  • 中企动力做的网站好吗建个网站要花多少钱
  • 新乡seo网站推广工具怎么面试一个网站开发的人
  • 网站怎么做支付宝接口瑞安做微网站
  • 红色主题网站模板wordpress 安装502
  • 医疗网站咨询源码wordpress管理员地址
  • 小型教育网站的开发与建设平邑建设银行网站
  • 网站推广怎么做才有效果wordpress 安装插件 ftp
  • 做网站干什么用怎么看网站是谁家做的