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

时代强个人网站品牌整合推广

时代强个人网站,品牌整合推广,上海外贸公司最新招聘,网站建设公司 技术评估✨个人主页:bit me ✨当前专栏:算法基础 🔥专栏简介:该专栏主要更新一些基础算法题,有参加蓝桥杯等算法题竞赛或者正在刷题的铁汁们可以关注一下,互相监督打卡学习 🌹 🌹 &#x1f3…

请添加图片描述

✨个人主页:bit me
✨当前专栏:算法基础
🔥专栏简介:该专栏主要更新一些基础算法题,有参加蓝桥杯等算法题竞赛或者正在刷题的铁汁们可以关注一下,互相监督打卡学习 🌹 🌹 🌹

单 链 表

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

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

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

注意:

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

输入格式:

第一行包含整数 M,表示操作次数。
 
接下来 M 行,每行包含一个操作命令,操作命令可能为以下几种:
 

  • H x,表示向链表头插入一个数 x。
  • D k,表示删除第 k 个插入的数后面的数(当 k 为 0 时,表示删除头结点)。
  • I k x,表示在第 k 个插入的数后面插入一个数 x(此操作中 k 均大于 0)。

输出格式:

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

数据范围:

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

输入样例:

10
H 9
I 1 1
D 1
D 0
H 6
I 3 6
I 4 5
I 4 5
I 3 4
D 6

输出样例:

6 4 6 5

思路:

  1. 第一个操作:删除头结点,我们可以直接弄一个第三方,然后轮流转移赋值即可,前面链表文章写了很多
  2. 第二步和第一步一样的操作
  3. 第三个操作就直接让他等于下一个节点就行
  1. 向链表头插入一个数;
public static void add_head(int x){e[index] = x;ne[index] = head;head = index++;
}
  1. 删除第 k 个插入的数后面的数;
public static void remove(int k){ne[k] = ne[ne[k]];
}
  1. 在第 k 个插入的数后插入一个数。
public static void add(int k,int x){e[index] = x;ne[index] = ne[k];ne[k] = index++;
}
  1. 主函数对他们的分类操作
public static void main(String[] args){Scanner scan = new Scanner(System.in);int m = scan.nextInt();init();//初始化while(m -- > 0){//因为java中没有输入一个字符,所以用字符串转字符String s = scan.next();char op = s.charAt(0);if(op == 'H'){int x = scan.nextInt();add_head(x);}else if(op == 'D'){int k = scan.nextInt();if(k == 0) head = ne[head];else remove(k-1);}else {int k = scan.nextInt();int x = scan.nextInt();add(k-1,x);}}for(int i = head;i != -1;i = ne[i] ){System.out.print(e[i] +  " ");}}

附上总的代码

public class Demo3 {static int[] e = new int[100010];static int[] ne = new int[100010];static int index,head;public static void init(){index = 0;head = -1;}//H向链表头插入一个数x;public static void add_head(int x){e[index] = x;ne[index] = head;head = index++;}//I在第k位数后面插入一个数xpublic static void add(int k,int x){e[index] = x;ne[index] = ne[k];ne[k] = index++;}//D删除第k个数后面得数public static void remove(int k){ne[k] = ne[ne[k]];}public static void main(String[] args){Scanner scan = new Scanner(System.in);int m = scan.nextInt();init();//初始化while(m -- > 0){//因为java中没有输入一个字符,所以用字符串转字符String s = scan.next();char op = s.charAt(0);if(op == 'H'){int x = scan.nextInt();add_head(x);}else if(op == 'D'){int k = scan.nextInt();if(k == 0) head = ne[head];else remove(k-1);}else {int k = scan.nextInt();int x = scan.nextInt();add(k-1,x);}}for(int i = head;i != -1;i = ne[i] ){System.out.print(e[i] +  " ");}}
}
http://www.yayakq.cn/news/987017/

相关文章:

  • wordpress博客优化网站图片怎样做seo优化
  • 做网站编程一级建设造师网站
  • 昆明做网站外包沧州网站运营公司
  • 云服务器可以做网站定制一个企业网站多少钱
  • 金融 网站建设公司企业网络维护外包
  • 购物网站导航素材代码合肥高新城创建设投资有限公司网站
  • 保山便宜的网站建设百度代发排名
  • 猫眼网站建设响应式公司网站
  • 手机访问能否提高网站权重国外单栏wordpress
  • 做任务 网站做振动盘的企业网站
  • 瑞安市建设工程质量监督站网站外贸网站平台有几个
  • 网站怎么做百度推广佛山网站优化体验
  • 如何做点对点视频网站代码运行框wordpress
  • 做游戏平面设计好的素材网站有哪些wordpress 页面转跳
  • 公司网站建设方面不足湖南企业竞价优化公司
  • php网站怎么做的网页游戏排行榜源码
  • 网上学设计哪个网站好2023年10月爆发新冠
  • 备案号放网站下面居中丽江网页制作公司
  • 网站建设推荐信息微信微网站统计
  • wordpress 制作企业站手机如何制作网站教程
  • 新能源 东莞网站建设免费音效素材网站
  • 廉江市住房和城乡建设局网站wordpress优化图片
  • 用什么网站做海报 知乎建设环评备案登记网站
  • 免费建网站哪个模板多上海展览设计公司
  • 京东网站设计代码老鹰网站建设
  • 全球做空现货黄金的网站google搜索引擎免费入口
  • 如何创建一个免费的网站起名字2023免费八字起名
  • 网站推广营销联系方式驾考学时在哪个网站做
  • WordPress头部去掉sworg链接宁波seo搜索引擎优化
  • 用订制音乐网站做的音乐算原创吗企业策划案