数据结构与算法(python)单向链表的反转
import sys
class employee:
def __init__(self):
self.num=0
self.salary=0
self.name=''
self.next=None
findword=0
data=[[1001,32367],[1002,24388],[1003,27556],[1007,31299],
[1012,42660],[1014,25675],[1018,44145],[1043,52182],
[1031,32769],[1037,21100],[1041,32196],[1046,25776]]
namenode=['Allen','Scott','Marry','John','Mark','Ricky','Lisa','Jasica','Hanson','Amy','Bob','Jack']
head=employee()
if not head:
print('Error!! 内存分配失败!!')
sys.exit(0)
head.num=data[0][0]
head.salary=data[0][1]
head.name=namenode[0]
head.next=None
ptr=head
for i in range(1,12):
newnode=employee()
newnode.num=data[i][0]
newnode.salary=data[i][1]
newnode.name=namenode[i]
newnode.next=None
ptr.next=newnode
ptr=ptr.next
ptr=head
i=0
print('翻转前的员工数据')
while ptr!=None:
print('[%2d,%6s,%3d]'%(ptr.num,ptr.name,ptr.salary))
i=i+1
if i>=3:
print()
i=0
ptr=ptr.next
ptr=head
before=None
print('\n 反转后的链表节点数据')
while ptr!=None:
last=before
before=ptr
ptr=ptr.next
before.next=last
ptr=before
while ptr!=None:
print('[%2d,%6s,%3d]'%(ptr.num,ptr.name,ptr.salary))
i=i+1
if i>=3:
print()
i=0
ptr=ptr.next
- python实现反转部分单向链表
- 数据结构与算法(python)两个单向链表的连接
- 单向链表python实现,增删改查+链表反转
- 基于Python实现单向链表的反转
- 数据结构与算法(python)单向链表表示两个多项式相加
- 反转部分单向链表 Python 版
- 单向链表反转
- python实现链表逆序(反转函数)
- 将单向链表按某值划分成左边小、 中间相等、 右边大的形式-python3
- reverse linklist 反转链表的一部分 python
- python 链表-反转链表
- 数据结构与算法(2)---Java语言实现:线性表的单链表定义:方法补充,实现单链表反转,去重
- 反转单向和双向链表
- Python数据结构与算法之列表(链表,linked list)简单实现
- 单向链表的反转最简单方法
- 以k个元素为一组反转单向链表
- 单向链表反转(循环和递归)
- c++实现单向链表反转的学习总结
- 数学解题(一)单向链表反转
- 单向链表的相关操作总结:创建、删除、查找、排序、统计链表大小、链表的反转和遍历等