python-单链表的实现
#!/usr/bin/python class Node(object):
def __init__(self,value,next=None):
self.value,self.next=value,next class Linklist(object):
def __init__(self):
self.head=None
def initlist(self,data):
self.head=Node(0)
p=self.head for i in data:
node=Node(i)
p.next=node
p=p.next def show(self):
p=self.head.next
while p!=None:
print p.value
p=p.next
def getlength(self):
p=self.head
length=0 while p.next !=None:
length+=1
p=p.next
return length def insert(self,index,value):
if index<0 or index>self.getlength():
print "Index is Error!"
return
p=self.head
j=0
while p.next !=None and j < index:
p=p.next
j+=1
node=Node(value,p.next)
p.next=node def remove(self,index):
if index<0 or index > self.getlength():
print "Index is Error!"
return p=self.head
j=0
while p.next !=None and j<index:
p=p.next
j+=1
next=p.next.next def checkin(self,value):
p=self.head
flag=-1
while p.next != None:
if p.next.value==value:
flag=1
return flag
p=p.next
return flag def replace(self,index,value):
p=self.head.next
i=0
while i<index:
p=p.next
i+=1
p.value=value def getitem(self,index):
p=self.head.next
j=0
while p!=None and j<index:
j+=1
p=p.next
return p.value def is_empty(self):
if self.getlength()==0:
return True
else:
return False def __getitem__(self,key):
if self.is_empty() or key>=self.getlength():
print "Index is Error!"
return
else:
return self.getitem(key)
def __setitem__(self,key,value):
if self.is_empty() or key>=self.getlength():
print "Index is Error!"
return
else:
return self.replace(key,value)
python-单链表的实现的更多相关文章
- 用最简单的方式学Python单链表
Python 实现单链表 在本博客中,我们介绍单链表这种数据结构,链表结构为基于数组的序列提供了另一种选择(例如Python列表). 基于数组的序列和链表都能够对其中的元素保持一定得顺序,但采用的方式 ...
- python单链表
#!/usr/bin/env python3 # -*- coding:utf-8 -*- class LNode: """ 结点类 """ ...
- python单链表的基本操作思路
单链表: 1.定义链表 class ListNode: # 定义节点 def __init__(self, x): self.val = x # 节点当前值 self.next = None # 指向 ...
- Python单链表实现
class Node(): def __init__(self,InitDate): self.Date=InitDate self.next=None def setNext(self,newnex ...
- 数据结构:单链表结构字符串(python版)添加了三个新功能
#!/urs/bin/env python # -*- coding:utf-8 -*- #异常类 class stringTypeError(TypeError): pass #节点类 class ...
- 数据结构:单链表结构字符串(python版)改进
此篇文章的replace实现了字符串类的多次匹配,但依然有些不足. 因为python字符串对象为不变对象,所以replace方法并不修改原先的字符串,而是返回修改后的字符串. 而此字符串对象时用单链表 ...
- 数据结构:单链表结构字符串(python版)
#!/urs/bin/env python # -*- coding:utf-8 -*- #异常类 class stringTypeError(TypeError): pass #节点类 class ...
- Python 之简易单链表
单链表的基本要素有 2 个,数据项和连接项.这两项在 Python 中可以通过对象及其属性来实现. class Node: def __init__ (self, data): self.data = ...
- python 数据结构之单链表的实现
链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址.由于每个结点都包含了可以链接起来的地址信息,所以用一个变量就 ...
- python实现数据结构单链表
#python实现数据结构单链表 # -*- coding: utf-8 -*- class Node(object): """节点""" ...
随机推荐
- (轉)CSS 单行溢出文本显示省略号...的方法(兼容IE FF)
轉自:http://www.cnblogs.com/hlz789456123/archive/2009/02/18/1392972.html html代码:<div><p>&l ...
- [美国代购] Nexus 6 与 Moto X 询价聊天记录整理
目前手上使用的是 Mi 3,使用了根本还不到一年,但是发现非常多的问题. 官方 APP 不能卸载: 手机的顶部(摄像头)处经常出现高温度现象,如果你长时间讲电话,那么这个温度真的可以烫到你的耳朵无法承 ...
- C# Aes CryptoStream Specified padding mode is not valid for this algorithm的解決方法
//解密數據 using (var ss = File.OpenRead(@"d:\qq.d.flac")) { ...
- 在TFS 2013的敏捷组合管理中添加积压工作
在TFS提供的三套默认模板中,组合管理(Portfolio Management)只包含功能(Feature)和要求这个两个积压工作.你可以参考下面的文档,学会如何在积压工作中添加额外的工作项类型. ...
- 编译Hadoop1.0.2历程和解决问题记录
1.安装eclipse3.6.2, 废止3.7, 这个有很多问题 2.安装eclipse插件ivy You can install Apache IvyDE plugins from the IvyD ...
- 在Windows Server 2008上部署免费的https证书
背景 后web时代,https加密的重要性不言而喻.主流浏览器均对http站点标记不安全,敦促web服务提供商尽快升级至https. 原先的https证书多由各大域名服务商提供,动辄成千上万的部署证书 ...
- C# Session操作
Session.Abandon();//清除全部Session//清除某个SessionSession["UserName"] = null;Session.Remove(&quo ...
- asp.net mvc全局异常捕获
通过重写OnException方法形式实现. 1.自定义异常记录类并继承HandleErrorAttribute类. public class HandlerErrorAttribute : Hand ...
- djang系列5.5-- 图书管理系统实例
一.表格设计 E-R图 分析图 models.py from django.db import models # Create your models here. class Author(model ...
- python网络编程--操作系统介绍
1.操作系统介绍 操作系统位于计算机硬件与应用软件之间,本质也是一个软件.操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两 ...