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

自做网站好做吗爱站网怎么使用

自做网站好做吗,爱站网怎么使用,做网站设计的网站,wordpress相册程序文章目录 题目描述基本思路实现代码 题目描述 实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数;删除第 k个插入的数后面的一个数;在第 k个插入的数后插入一个数。 现在要对该链表进行M次操作&#x…

文章目录

    • 题目描述
    • 基本思路
    • 实现代码

题目描述

实现一个单链表,链表初始为空,支持三种操作:

  1. 向链表头插入一个数;
  2. 删除第 k个插入的数后面的一个数;
  3. 在第 k个插入的数后插入一个数。

现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。

注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了n个数,则按照插入的时间顺序,这n个数依次为:第1个插入的数,第2个插入的数,…第n个插入的数。

输入格式

  • 第一行包含整数M,表示操作次数。
  • 接下来M行,每行包含一个操作命令,操作命令可能为以下几种:
    • H x,表示向链表头插入一个数x
    • D k,表示删除第k个插入的数后面的数(当k0时,表示删除头结点)。
    • I k x,表示在第k个插入的数后面插入一个数x(此操作中k均大于 0)。

输出格式

  • 共一行,将整个链表从头到尾输出。

数据范围

  • 1 ≤ M ≤ 100000
  • 所有操作保证合法。

基本思路

  • 在通常情况下以及我们的课程学习过程中,都是使用一个结构体表示链表结点或完整的链表。但是,这种方式需要每次使用new运算符创建一个新的链表结点,而这实际上是一个非常低效的方式。因此,实际的算法竞赛中,往往使用一个数组或向量来模拟出一个链表,称为静态链表,从而避免低效的动态内存分配。
  • 单链表的实际作用主要是写邻接表,用来存储图和树。

实现代码

#include <iostream>
#include <vector>
using namespace std;typedef int value;
typedef int pos;
vector< pair<value, pos> > List;int head = -1;inline void insert_to_head(const int& x)
{List.push_back({x, head});head = List.size() - 1;
}inline void del_after(const int& k)
{if(k == 0) head = List[head].second;else List[k - 1].second = List[List[k - 1].second].second;
}inline void insert_after(const int& k, const int& x)
{List.push_back({x, List[k - 1].second});List[k - 1].second = List.size() - 1;
}int main(void)
{int m;cin >> m;for(int i = 0; i < m; ++i){char operation;cin >> operation;if(operation == 'H'){int x;cin >> x;insert_to_head(x);}else if(operation == 'D'){int k;cin >> k;del_after(k);}else if(operation == 'I'){int k, x;cin >> k >> x;insert_after(k, x);}}while(List[head].second != -1){cout << List[head].first << " ";head = List[head].second;}cout << List[head].first << " ";return 0;
}

注意事项

  • 这里如果不使用cin进行输入,而是使用scanf函数的话,会出现奇怪的难以解释的错误。因此,以后的算法编程题目中,如果不是输入量特别大的话,都尽量使用更加简单的cin方式进行输入。
http://www.dt0577.cn/news/48962.html

相关文章:

  • 给公司做网站风险百度大搜推广开户
  • 做外贸怎么进入国外的网站北京核心词优化市场
  • 宝塔软件做网站怎么创建公司网站
  • 如何查网站域名备案windows优化大师软件介绍
  • 长沙房价2023年最新房价seo优化排名教程百度技术
  • 企业网站建设的原则万能bt搜索引擎网站
  • 如何用java做网站seo优化方案模板
  • 花卉网站建设的总结与东莞seo优化排名
  • 免费制作微信小程序软件关键词优化排名怎么做
  • 江苏省城乡和住房建设厅网站首页宁波seo外包方案
  • 做网站有谁做免费行情网站
  • 坪山网站建设要多少钱微信广告投放平台
  • 纯 flash 网站唐山seo优化
  • 深圳外贸网站开发东莞网站营销推广
  • 如何在wordpress插入微信二维码正规seo多少钱
  • 免费空间域名可以做淘宝客网站推广吗石家庄网站建设方案
  • 王刚做的加盟网站名叫什么微博营销案例
  • 网站做后怎么可以在百度搜索到网络营销是以什么为中心
  • 建设网站公司 优帮云实事新闻热点
  • wordpress代码实现头像威海seo
  • 小鱼儿网站做啥用的济宁百度推广开户
  • 邯郸网站制作外包网络广告营销案例
  • wordpress评论内网ip长沙靠谱关键词优化服务
  • 在阿里巴巴上做网站需要什么条件网络营销工具体系
  • 做网站 使用权 所有权百度百科官网
  • 沧州做网站的公司网络推广工作内容怎么写
  • 网上做室内设计的网站2022年热点营销案例
  • 石家庄学做网站建设培训长沙seo关键词
  • 给个做的网站百度起诉seo公司
  • JAVA网站开发结构营销网站定制公司