国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現(xiàn)順序表的簡單代碼

2020-01-04 14:26:34
字體:
來源:轉載
供稿:網(wǎng)友

 順序表即線性表的順序存儲結構。它是通過一組地址連續(xù)的存儲單元對線性表中的數(shù)據(jù)進行存儲的,相鄰的兩個元素在物理位置上也是相鄰的。比如,第1個元素是存儲在線性表的起始位置LOC(1),那么第i個元素即是存儲在LOC(1)+(i-1)*sizeof(ElemType)位置上,其中sizeof(ElemType)表示每一個元素所占的空間。

python,順序表,代碼

下面是順序表的python實現(xiàn):

#coding:utf-8 '''author:xzfreewind''' class SeqList(object): def __init__(self,max=10):  self.max = max  #默認順序表最多容納10個元素  #初始化順序表數(shù)組  self.num = 0  self.date = [None] * self.max  def is_empty(self):  #判定線性表是否為空  return self.num is 0  def is_full(self):  #判定線性表是否全滿  return self.num is self.max  #獲取線性表種某一位置的元素 def __getitem__(self, i):  if not isinstance(i,int): #如果i不為int型,則判定輸入有誤,即Type錯誤   raise TypeError  if 0<= i < self.num: #如果位置i滿足條件,即在元素個數(shù)的范圍內(nèi),則返回相對應的元素值,否則,超出索引,返回IndexError   return self.date[i]  else:   raise IndexError  #修改線性表種某一位置的元素 def __setitem__(self, key, value):  if not isinstance(key,int): #如果key不為int型,則判定輸入有誤,即Type錯誤   raise TypeError  if 0<= key <self.num:  #如果位置key滿足條件,即在元素個數(shù)的范圍內(nèi),則返回相對應的元素值,否則,超出索引,返回IndexError   self.date[key] = value  else:   raise IndexError #按值查找元素的位置 def getLoc(self,value):  n = 0  for j in range(self.num):   if self.date[j] == value:    return j  if j == self.num:   return -1  #如果遍歷順序表還未找到value值相同的元素,則返回-1表示順序表種沒有value值的元素  #統(tǒng)計線性表中元素的個數(shù) def Count(self):  return self.num  #表末尾插入操作 def appendLast(self,value):  if self.num >= self.max:   print 'The list is full'   return  else:   self.date[self.num] = value   self.num += 1  #表任意位置插入操作: def insert(self,i,value):  if not isinstance(i,int):   raise TypeError  if i < 0 and i > self.num:   raise IndexError  for j in range(self.num,i,-1):   self.date[j] = self.date[j-1]  self.date[i] = value  self.num += 1   #刪除某一位置的操作 def remove(self,i):  if not isinstance(i,int):   raise TypeError  if i < 0 and i >=self.num:   raise IndexError  for j in range(i,self.num):   self.date[j] = self.date[j+1]  self.num -= 1  #輸出操作 def printList(self):  for i in range(0,self.num):   print self.date[i]  #銷毀操作 def destroy(self):  self.__init__()

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桐城市| 儋州市| 天门市| 福建省| 柯坪县| 西充县| 天门市| 乌鲁木齐县| 辰溪县| 明溪县| 邯郸县| 建瓯市| 都江堰市| 宁安市| 咸丰县| 大冶市| 彰化市| 辰溪县| 邵武市| 台中县| 渝北区| 栾川县| 鄂尔多斯市| 平邑县| 大城县| 南投县| 寻乌县| 山西省| 肃南| 安阳县| 郸城县| 山丹县| 河津市| 林西县| 昌邑市| 洮南市| 米泉市| 肇东市| 景德镇市| 宜昌市| 志丹县|