python实现的链表

来源:互联网 发布:淘宝联盟微信推广技巧 编辑:程序博客网 时间:2024/06/06 12:42

python实现的链表,包括插入、查找、删除操作

#!/usr/bin/python class linknode():def __init__(self,k,n=None):self.key=k;self.next=n;def createlist():        #创建链表n=raw_input("enter the num of nodes");n=int(n);if n<1 :return ;else :a=raw_input("enter the key");head=linknode(k=a);if n is 1:return head;else :p=head;for i in range(1,n):a=raw_input("enter a key");t=linknode(k=a);p.next=t;p=t;return head;def printlist(head):    #打印链表p=head;while p!= None:print p.key;p=p.next;def listlen(head):    #计算链表长度c=0;p=head;while p!= None:c=c+1;p=p.next;return c;def insert(head,n):     #插入元素if n<1 or n>listlen(head) :return ;p=head;if n is 1:a=raw_input("enter a key");t=linknode(k=a);t.next=head;head=t;else :for i in range(1,n-1):p=p.next;a=raw_input("enter a key");t=linknode(k=a);t.next=p.next;p.next=t;return head;    def dellist(head,n):     #删除if n<1 or n>listlen(head):return head;elif n is 1:head=head.next;else:p=head;for i in range(1,n-1):p=p.next;q=p.next;p.next=q.next;return head;def findlist(head,n):   # 查找p=head;if p is None:return ;while(p!=None):if p.key is repr(n):print "find it";return 1;else:p=p.next;if p is None:print "not found";

0 0
原创粉丝点击