zoukankan      html  css  js  c++  java
  • python实现顺序表

    python实现顺序表可以有两中形式进行存储

    1. 列表
    2. 元组

    其实简单来说,顺序表无非就是操作列表和元组的方法来对顺序表进行操作。

    实例代码

     7 class SqList: 
      8     def __init__(self,maxsize = 10):
      9         self.curlen = 5#顺序表的初始化长度
     10         self.maxsize = maxsize#顺序表的最大长度
     11         self.listitem = [1,2,3,4,5]#顺序表存储空间
     12     def clear(self):
     13         """将顺序表置为空表"""
     14         self.curlen = 0
     15     def empty(self):
     16         """判断顺序表是否为空"""
     17         return delf.curlen == 0
     18     def length(self):
     19         return self.curlen
     20     def get(self,i):
     21         if i < 0 or i > self.curlen - 1:
     22             raise Exception("第i个元素不存在")                     
     23         return self.listitem[i]
     24     def insert1(self,i,x):
     25         """插入的x作为第i个元素"""
     26         if i < 0 or i > self.curlen - 1:
     27             raise Exception("插入位置非法")
     28         if self.curlen == self.maxsize:
     29             raise Exception("列表已满")
     30         """   
     31         for j in range(self.curlen,i - 1,-1):
     32             self.listitem[j] = self.listitem[j - 1]
    32             self.listitem[j] = self.listitem[j - 1]
     33         """   
     34         self.listitem.insert(i,x)
     35         self.curlen += 1
     36     def remove(self,i):
     37         if i < 0 or i > self.curlen - 1:
     38             raise Exception("删除位置非法")
     39         """   
     40         for j  in range(i,self.curlen):
     41             self.listitem[j] = self.listitem[j + 1]
     42         """   
     43         del self.listitem[i]
     44         self.curlen -= 1
     45     def index(self,x):
     46         for i in range(self.curlen):
     47             if self.listitem[i] == x:
     48                 return i
     49         return -1
     50     def display(self):
     51         for i in range(self.curlen):
     52             print(self.listitem[i],end = "")
     53         print()
     54               
     55 list1 = SqList()
     56 print(list1.listitem[0])
     57 print(list1.get(1))
     58 list1.insert1(1,9)
     59 list1.display()
     60 list1.remove(1)
     61 list1.display()                  

    运行结果

    1
    2
    192345
    12345

    笨鸟先飞
  • 相关阅读:
    利用Python编写简单的Web静态服务器(TCP协议)
    UDP-TCP介绍与区别
    Linux基本知识-命令
    Python中多线程与join()的应用
    Python实例---对一组含有四则运算,括号,空格的字符串进行计算
    分组查询注意事项
    oracle分页查询
    springMVC文件上传配置
    ssm网站页面乱码问题解决
    redis-server.exe闪退
  • 原文地址:https://www.cnblogs.com/zoutingrong/p/13903174.html
Copyright © 2011-2022 走看看