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.顺序表的结构 一个顺序表的完整信息包括两部分,一部分是表中元素 ...
随机推荐
- BZOJ1001 狼抓兔子(网络流转最短路:对偶图)
题意: 给一个如图形式的\(n*m\)的方格,从左上走到右下,给出边权,问分成两块所需的最小代价.\(n,m\leq1000\). 思路: 显然是个最小割,但是\(O(n^2m)\)的复杂度很高,虽然 ...
- BellmanFord为什么只需松弛V-1次
首先s不用松弛,V-=1 然后对于其他的顶点..每次都至少能完全松弛一个顶点.. 为什么呢..因为初始d[s]=0,所以和s相邻接的边都将被松弛完全..无论松弛的顺序 那么对于这个图,无论松弛的顺序都 ...
- windows信息收集
导语:介绍 特权升级总是被归结为适当的枚举.但要完成适当的枚举,你需要知道要检查和查找的内容.这通常需要伴随着经验的丰富而对系统非常熟悉.起初特权升级看起来像是一项艰巨的任务,但过了一段时间,你就 ...
- C#通过NI-VISA操作Tektronix TBS 2000B系列示波器
一.概述 本文描述采用C#语言访问控制Tektronix TBS 2000B 系列示波器.接口协议采用NI-VISA. 最近一个项目需要和一款示波器进行通信,需要对示波器进行一些简单控制并获取到波形数 ...
- React 性能优化 All In One
React 性能优化 All In One Use CSS Variables instead of React Context https://epicreact.dev/css-variables ...
- Huffman coding & Huffman tree
Huffman coding & Huffman tree Huffman coding 哈夫曼编码 / 最优二元前缀码 Huffman tree 哈夫曼树 / 最优二叉树 https://w ...
- 转换时间戳,兼容webkit和IE
var date="2018-6-6"; var test=Date.parse(date.replace(/-/g,"/"));console.log(tes ...
- 2021-2-20:请你说说分布式系统 BASE 理论是什么?
BASE 理论是由 Dan Pritchett 在 ACM 上发表的一篇论文中提出的理论.是在 CAP 理论基础上提出的一种更实际的理论指导,和 PACELC 理论是有些相近的地方的. BASE 是指 ...
- 两年Java,去字节跳动写Python和Go
前言 2019年5月,在收到offer邮件的那一刻,我仍然不敢相信自己这一番际遇.经历了七场面试,终于得偿所望,拿到了字节跳动的offer. 做加入大厂的决定并不是巧合.在多年的职业生涯里,我曾多次对 ...
- C++构造函数的选择
构造函数用来初始化类对象.构造函数有好几种,在编程时如何选择不同的构造函数呢?做个总结 一.默认构造函数 默认构造函数是在程序员没有声明任何构造函数的时,编译器为了初始化类对象自己进行的默认构造函数. ...