python顺序结构实验报告_Python数据结构之顺序表的实现代
码⽰例
顺序表即线性表的顺序存储结构。它是通过⼀组地址连续的存储单元对线性表中的数据进⾏存储的,相邻的两个元素在物理位置上也是相邻的。⽐如,第1个元素是存储在线性表的起始位置LOC(1),那么第i个元素即是存储在LOC(1)+(i-1)*sizeof(ElemType)位置上,其中sizeof(ElemType)表⽰每⼀个元素所占的空间。
追加直接往列表后⾯添加元素,插⼊是将插⼊位置后的元素全部往后⾯移动⼀个位置,然后再将这个元素放到指定的位置,将长度加1删除是将该位置后⾯的元素往前移动,覆盖该元素,然后再将长度减1
实现代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
class SeqList(object):
def __init__(self,maxsize):
self.maxsize = maxsize
self.data = range(maxsize)
self.last = len(self.data) -1
def __getitem__(self, key):
if self.is_empty():
print 'seqlist is empty'
return
elif key<0 or key>self.last:
print 'the given key is Error'
return
else:
return self.data[key]
def __setitem__(self, key, value):
if self.is_empty():
print 'seqlist is empty'
elif key<0 or key>self.last: print 'the given key is Error' return
else:
self.data[key] = value
def __len__(self):
length = self.last + 1
return length
def getlength(self):
return self.last+1
def clear(self):
self.data = []
def is_empty(self):
if self.last == -1:
return True
else:
return False
def is_full(self):
if self.last == self.maxsize-1: return True
else:
return False
python新手代码示例
def getelem(self,index):
if self.is_empty():
print 'seqlist is empty'
return
elif index<0 or index>self.last: print 'position is error'
else:
return self.data[index]
def getindex(self,elem):
if self.is_empty():
print 'seqlst is empty'
else:
for i in range(self.last):
if self.data[i]==elem:
return i
def append(self,elem):
if self.is_empty():
print 'seqlist is empty'
return
else:
self.last +=1
self.data = self.data + [elem]
def insert(self,index,elem):
if self.is_empty():
print 'seqlist is empty'
return
elif index<0 or index> self.last+1: print 'postion is error'
return
elif index == self.last+1:
self.last+=1
self.data = self.data + [elem]
else:
self.data += [elem]
if index ==0:
for i in self.data[self.last::-1]:
self.data[i+1] = self.data[i]
else:
for i in self.data[self.last:index-1:-1]: self.data[i+1] = self.data[i]
self.data[index] = elem
self.last+=1
#print self.data
def delete(self,index):
if self.is_empty():
print 'seqlist is empty'
return
elif index<0 or index> self.last+1:
print 'postion is error'
return
elif index == self.last+1:
self.last -= 1
self.data =self.data[:-1]
else:
for i in self.data[:-1]:
if i >= index:
self.data[i] = self.data[i+1]
else:
pass
self.data = self.data[:-1]
self.last -= 1
sl = SeqList(5)
print sl.data
sl.append(5)
print sl.data
sl.insert(6,10)
print sl.data
sl.delete(5)
print sl.data
说明:其实python中得list 本⾝是⽀持该种数据结构的,可以直接使⽤。
总结
以上就是本⽂关于Python数据结构之顺序表的实现代码⽰例的全部内容,希望对⼤家有所帮助。感兴趣的朋友可以继续参阅本站:python中实现k-means聚类算法详解
Python内存管理⽅式和垃圾回收算法解析
Python算法输出1-9数组形成的结果为100的所有运算式
如有不⾜之处,欢迎留⾔指出。
给你选择Python语⾔实现机器学习算法的三⼤理由
基于以下三个原因,我们选择Python作为实现机器学习算法的编程语⾔:(1)Python的语法清晰;(2)易于操作纯⽂本⽂件;(3)使⽤⼴泛,存在⼤量的开发⽂档
python爬⾍系列Selenium定向爬取虎扑篮球图⽚详解
前⾔:作为⼀名从⼩就看篮球的球迷,会经常逛虎扑篮球及湿乎乎等论坛,在论坛⾥⾯会存在很多精美图⽚,包括NBA球队、CBA明星、花边新闻、球鞋美
python机器学习库常⽤汇总
汇总整理⼀套Python⽹页爬⾍,⽂本处理,科学计算,机器学习和数据挖掘的兵器谱。1.Python⽹页爬⾍⼯具集⼀个真实的项⽬,⼀定是从获取数据开始的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。