我是포포포 가림 2021-04-15 19:33 采纳率: 60%
浏览 54

如何实现双重连接列表,实现英文列表ADT?

实现双重连接列表,实现英文列表ADT。

需要支持以下四个运算(假设位置从第一个开始)

- add(list, position, item):在list的position的位置增加item。 

- delete(list, position):删除list的position位置中的item。
- get(list, position):返回list的 position 位置中的item值。

- print(list): 按list中存储的顺序输出list中的所有item,没有空格

 

如果position信息无效,则在屏幕上输出错误消息“invalid position”,忽略相应的运算。

 

输入的描述( 参考下面的输入输出例子)

- 每条运算的内容逐条输入,每条运算的种类、位置、项目依次输入。
- 运算的种类:运算名称的最前英文为大写字母(A、D、G、P)。
- 位置:正数
- 项目:英文(大写、小写都可以)

例子1:

输入

5 				↦ 计算的个数: 5
A 1 S			↦ add(list, 1, 'S')
A 2 t			↦ add(list, 2, 't')
A 3 r			↦ add(list, 3, 'r')
A 3 a			↦ add(list, 3, 'a')
P				↦ print(list)

输出

Star			↦ 第5次运算(P)输出

输入

9 				↦ 计算的个数: 9
A 1 D			↦ add(list, 1, 'D')
A 2 a			↦ add(list, 2, 'a')
A 3 y			↦ add(list, 3, 'y')
D 1 			↦ delete(list, 1)
P				↦ print(list)
G 3		   ↦ get(list, 3)
A 1 S			↦ add(list, 1, 'S')
P				↦ print(list)
G 3 			↦ get(list, 3)

输出
ay              		↦ 第5次运算(P)输出
invalid position		↦ 第6次运算(G 3)的输出
Say           		  	↦ 第8次运算(P)的输出
y               		↦ 第9次运算(G 3)的输出
  • 写回答

2条回答 默认 最新

  • CSDN专家-三岁丫 2021-04-15 20:39
    关注

    你的难点是啥呢?是哪个操作不会呢

    评论

报告相同问题?