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

首頁 > 編程 > Python > 正文

python實現順序表的簡單代碼

2020-02-15 23:05:11
字體:
來源:轉載
供稿:網友

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


下面是順序表的python實現:

#coding:utf-8 '''author:xzfreewind''' class SeqList(object): def __init__(self,max=10):  self.max = max  #默認順序表最多容納10個元素  #初始化順序表數組  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滿足條件,即在元素個數的范圍內,則返回相對應的元素值,否則,超出索引,返回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滿足條件,即在元素個數的范圍內,則返回相對應的元素值,否則,超出索引,返回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值的元素  #統計線性表中元素的個數 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__()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 观塘区| 邵阳县| 察哈| 临泉县| 交口县| 宿松县| 湘西| 米易县| 江华| 文水县| 商水县| 光山县| 略阳县| 镶黄旗| 潜江市| 桑植县| 德阳市| 屏山县| 荆门市| 太湖县| 铁岭市| 巴塘县| 秦安县| 敖汉旗| 桦川县| 新竹市| 佛学| 长乐市| 长葛市| 蕲春县| 同心县| 化州市| 莫力| 正安县| 孟州市| 奉化市| 长武县| 元谋县| 闽侯县| 怀来县| 建德市|