https://pan.baidu.com/s/1A3F5KQ59d6yHFXaXOo3yUgpan.baidu.com
import sys
class employee():
def _init_(self):
self.num=0
self.salary=0
self.name=''
self.next=None
def del_ptr(head,ptr):
top=head
if ptr.num==head.num:
head=head.num
print('已删除第 %d 号员工 姓名:%s 薪资:%d'%(ptr.num,ptr.name,
ptr.salary))
else:
while top.next!=ptr:
if ptr.next==None:
top.next=None
print('已删除第 %d 号员工 姓名:%s 薪资:%d'%(ptr.num,ptr.name,
ptr.salary))
else:
print('已删除第 %d 号员工 姓名:%s 薪资:%d'%(ptr.num,ptr.name,
ptr.salary))
return head
def main():
findword=0
data=[[1001,32367],[1002,24388],[1003,27556],[1007,31299],\
[1012,42660],[1014,25676],[1018,44145],[1043,52187],\
[1031,32768],[1037,21110],[1041,32563],[1046,25766]]
namedata=['Allen','SCott','Marry','John','Mark','Ricky',\
'Lisa','Jasica','Hanson','Amy','Bob','Jack']
print('员工编号 薪水 员工编号 薪水 员工编号 薪水 员工编号 薪水')
print('----------------------------------------------------')
for i in range(3):
for j in range(4):
print('[%4d] $%5d' %(data[j*3+i][0],data[j*3+i][1]),end='')
print()
head=employee()#建立链表头部
if not head:
print('Error!!内存分配失败!\n')
sys.exit(0)
head.num=data[0][0]
head.name=namedata[0]
head.salary=data[0][1]
head.next=None
ptr=head
for i in range(1,12):#建立链表
newnode=employee()
newnode.num=data[i][0]
newnode.name=namedata[i]
newnode.salary=data[i][1]
newnode.next=None
ptr.next=newnode
while(True):
findword=int(input('请输入要删除的员工编号。要结束删除过程,请输入-1:'))
if(findword==-1):
break
else:
ptr=head
find=0
while ptr!=None:
if ptr.num==findword:
ptr=del_ptr(head,ptr)
find=find+1
head=ptr
if find==0:
print('#######没有找到######')
ptr=head
print('\t员工编号 姓名\t 薪水')
print('\t==========================')
while(ptr!=None):
print('\t[%2d]\t[%-10s]\t[%3d]'%(ptr.num,ptr.name,ptr.salary))