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): """节点""" ...
随机推荐
- TFS 2015新功能之一,当前迭代查询标记
TFS 2015发布在即,有幸作为MVP提前获得了TFS的RTM版本,下面就TFS 2015的新功能做一些介绍: TFS 2015新功能之一,当前迭代查询标记 在TFS的查询中,可以将" ...
- [Elixir003] Mix Archives
在[Elixir001]中使用 mix escript.build 生成一个lifelog 的escript启动脚本. 今天我们尝试一下另一种方式:生成Archives. 我们先添加一个Task 1. ...
- 如何在CentOS 7中禁用IPv6
最近,我的一位朋友问我该如何禁用IPv6.在搜索了一番之后,我找到了下面的方案.下面就是在我的CentOS 7 迷你服务器关闭IPv6的方法. 你可以用两个方法做到这个. 方法 1 编辑文件/etc/ ...
- [JXOI2017]颜色 线段树求点对贡献
[JXOI2017]颜色 题目链接 https://www.luogu.org/problemnew/show/P4065 题目描述 可怜有一个长度为 n 的正整数序列 Ai,其中相同的正整数代表着相 ...
- WPF ControlTemplate 动画板 结束事件不触发
解决此问题很简单 将Storyboard单独提取出来及可 给定Key名称,然后在触发器中的BeginStoryboard的storyboard绑定即可 <!--单独提取并设置Xkey--> ...
- deamo的网址
https://blog.csdn.net/jydave/article/details/50656455 广播(Broadcast)的简单用法 http://www.cgtsj.com/cg/ ...
- “全栈2019”Java第九十二章:外部类与内部类成员覆盖详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 如何学习sql语言?
如何学习 SQL 语言? https://www.zhihu.com/question/19552975 没有任何基础的人怎么学SQL? https://www.zhihu.com/question/ ...
- 使用textarea标签代替input标签可以实现输入框的大小调节,自动换行,滚动条显示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- LG的nexus5(32GB版本 - 821)-TOT-底包 可用于救砖!
LG的nexus5(32GB版本 - 821)-TOT-底包 底层修复效果完美,通过LGflashTool1.8直接刷进去就行~ 底包下载: https://pan.baidu.com/s/1Z5WD ...