python实现顺序表
python实现顺序表可以有两中形式进行存储
- 列表
- 元组
其实简单来说,顺序表无非就是操作列表和元组的方法来对顺序表进行操作。
实例代码
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实现顺序表的更多相关文章
- 【数据结构 Python & C++】顺序表
用C++ 和 Python实现顺序表的简单操作 C++代码 // Date:2019.7.31 // Author:Yushow Jue #include<iostream> using ...
- 数据结构:顺序表(python版)
顺序表python版的实现(部分功能未实现) #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object): def __ini ...
- 顺序表的原理与python中的list类型
数据是如何在内存中存储的? 在32位的计算机上,1个字节有8位,内存寻址的最小单位就是字节.假设我们有一个int类型的值,它从0x10开始,一个int占据4个字节,则其结束于0x13. 那么数据类型有 ...
- python数据结构与算法第五天【顺序表】
1.列表存储的两种方式 (1)元素内置方式 采用元素内置的方式只能存放同类型元素的数据类型,例如列表中的元素都为整形,元素类型相同,每个元素存放的地址空间大小也相同,则列表中每个元素都是顺序存放的 ( ...
- python中的顺序表
Python中的list和tuple两种类型采用了顺序表的实现技术,tuple是不可变类型,即不变的顺序表,因此不支持改变其内部状态的任何操作,而其他方面,则与list的性质类似. list的基本实现 ...
- python基础下的数据结构与算法之顺序表
一.什么是顺序表: 线性表的两种基本的实现模型: 1.将表中元素顺序地存放在一大块连续的存储区里,这样实现的表称为顺序表(或连续表).在这种实现中,元素间的顺序关系由它们的存储顺序自然表示. 2.将表 ...
- 3、顺序表、内存、类型、python中的list
1.内存.类型本质.连续存储 1.内存本质 2.C 语言实例-计算 int, float, double 和 char 字节大小 使用 sizeof 操作符计算int, float, double 和 ...
- python算法与数据结构-顺序表(37)
1.顺序表介绍 顺序表是最简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,可以快速定位第几个元素,中间不允许有空,所以插入.删除时需要移动大量元素.顺序表可以分配一段连续的存储空间 ...
- [Python] 数据结构--实现顺序表、链表、栈和队列
说明: 本文主要展示Python实现的几种常用数据结构:顺序表.链表.栈和队列. 附有实现代码. 来源主要参考网络文章. 一.顺序表 1.顺序表的结构 一个顺序表的完整信息包括两部分,一部分是表中元素 ...
随机推荐
- springboot(六)Email demo
项目中经常使用邮件发送提醒功能,比如说更新安全机制,发送邮件通知用户等 一.简单邮件发送 导入依赖: <dependency> <groupId>org.springframe ...
- 2019牛客多校第九场B Quadratic equation(二次剩余定理)题解
题意: 传送门 已知\(0 <= x <= y < p, p = 1e9 + 7\)且有 \((x+y) = b\mod p\) \((x\times y)=c\mod p\) 求解 ...
- sdut2878 环形依赖的DP(高斯消元,剪枝后的模板
这题的状态是循环依赖的有环.. 之前一道概率DP,类似有环..但是它是可以消掉的 比如dp[i]=0.3*dp[i+1]+0.2*dp[i+2]+0.5*dp[i]; 完全可以变成,0.5*dp[i] ...
- SPN在域环境中的应用
0X01 SPN 服务主体名称(SPN)是Kerberos客户端用于唯一标识给特定Kerberos目标计算机的服务实例名称.Kerberos身份验证使用SPN将服务实例与服务登录帐户相关联.如果 ...
- Building an IMAP Email Client with PHP
1 Building an IMAP Email Client with PHP http://www.toptal.com/php/building-an-imap-email-client-wit ...
- Django : Security in Django
Security in Django https://docs.djangoproject.com/en/1.10/topics/security/ 1 Cross site scripting (X ...
- 召回 & 召回算法
召回 & 召回算法 recall https://developers.google.com/machine-learning/crash-course/classification/prec ...
- c++ string split function
#include <string> #include <vector> #include <regex> struct SplitListItem { std::s ...
- linux DRM 之 GEM 笔记
原文链接:https://www.cnblogs.com/yaongtime/p/14418357.html 在GPU上的各类操作中涉及到多种.多个buffer的使用. 通常我们GPU是通过图像API ...
- 12.scikit-learn中的Scaler
import numpy as np from sklearn import datasets iris = datasets.load_iris() X = iris.data y = iris.t ...