码迷,mamicode.com
首页 > 编程语言 > 详细

python实现的链表

时间:2014-06-07 12:23:46      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:链表   python   插入   查找   删除   

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";

python实现的链表,布布扣,bubuko.com

python实现的链表

标签:链表   python   插入   查找   删除   

原文地址:http://blog.csdn.net/u011608357/article/details/28997089

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!