每日一练,蓝桥杯
2023-12-18 21:38:38
蓝桥杯---链表类型题:
这一题要求用到单项列表来解决。也可以使用跨行接受解决,事不宜迟,直接上代码。
第一个,我使用的是链表法解决问题。
一.创建链表。
class Node:
def __init__(self,data):
self.data = data
self.next = None
class Link:
def __init__(self) -> None:
self.head = None
#初始化头节点
#这里的x,我们已经设为节点
def addNode(self,x):
point = x
point.next = self.head
self.head = point
#后续要将输入到的数,排到最前面
def changeNode(self,num):
pre = self.head
while pre.next != None:
if int(pre.next.data) == num:
temp = pre.next
pre.next = temp.next #改变pre的指针方向
temp.next = self.head #将self.head的指针给temp
self.head = temp
def print_allNode(self):
temp = self.head
while temp.data != None:
print(temp.data, end=' ')
temp = temp.next
#获取全链表的数值
#开始完成要求
M = int(input())
alist = Link()#实例化一个链表
for i in range(1,11):
a = Node(i)
alist.addNode(a)
#将数值填入列表中
while M > 0:
X = int(input())#输入的目标值
alist.changeNode(x)
alist.print_allNode#输出排序后的链表的标签
M -= 1
二.另一种方法
ls = ["1","2","3","4","5","6","7","8","9","10"]
M = int(input())
shuru = [str(input()) for i in range(M)]
for i in shuru:
ls.remove(i)
ls.insert(0,i)
print(" ".join(ls))
文章来源:https://blog.csdn.net/2301_80246346/article/details/135071425
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!