热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据结构python描述:第一章:线性表

第一章:线性表本章结构:1.1什么是线性表现在我们有n(n0)个数据:a1a2a3an,把这n个元素进行排列就得到了

第一章:线性表

 

 

       本章结构:

 

1.1 什么是线性表

         现在我们有 n ( n > = 0 )个数据:a1 a2 a3  ... an ,把这 n 个元素进行排列就得到了一个线性表:

List = (a1, a2 , a3, ... an )   提示:线性表是一个有限的序列,即元素的个数必须是有限多个

举几个简单的例子:

LANGUAGE = (  c , c++ , Python , Java , PHP )

ANIMAL = ( 老虎 , 狮子 , 马 , 兔子 )

1.2 什么是顺序表

明白了线性表,让我们一起来看看顺序表是什么。我们把线性表的各项元素依次存储到计算机的一块连续的存储空间中,这就形成了顺序表。简而言之,我们可以把顺序表看做

线性表在计算机中的一种存储方式

比如下图所示:

接下来我们就要开始着手于顺序表的具体操作了:

① 定义一个顺序表

② 初始化顺序表

③ 判断顺序表是否为空(即表中没有任何元素 )或 顺序表是否已满

④ 把顺序表清空

⑤ 获取顺序表的元素个数

⑥ 查找顺序表中的某个元素

⑦ 向顺序表中插入某个元素

⑧ 在顺序表的尾部增添一个元素

⑨ 从顺序表中删除某个元素

 

1.3 Python代码实现

# -*- coding: utf-8 -*-
"""
Created on Fri Oct 31 17:42:35 2014@author: wangcan
"""
#Python代码
class Seqlist: #定义一个顺序表def __init__(self,maxSize): #初始化顺序表self.maxSize &#61; maxSize #maxSize决定顺序表的长度&#xff0c;即能够存储的最多元素个数self.data &#61; [] #当前顺序表为空self.last &#61; -1 #用于记录当前元素的下标def IsEmpty(self): #判断顺序表是否为空if self.last &#61;&#61; -1:return Trueelse:return Falsedef IsFull(self): #判断表是否已满if self.last &#43; 1 &#61;&#61; self.maxSize:return Trueelse:return Falsedef ClearSeqlist(self): #清空顺序表if not self.IsEmpty():self.data &#61; []self.last &#61; -1def LengthOfSeqlist(self): #返回顺序表的当前元素个数&#xff0c;即当前的长度return self.last &#43; 1def SearchData(self,x): #查找顺序表中的某个元素if self.IsEmpty():print "表为空&#xff01;"return -1for i in xrange(self.last&#43;1):if self.data[i] &#61;&#61; x:return iprint "你所查找的元素不存在"return -1def AppendData(self,x): #在顺序表的尾部增添一个元素if self.last&#43;1 &#61;&#61; self.IsFull():print "表已满&#xff0c;不能增加元素&#xff01;"else:self.data.Append(x)self.last &#43;&#61; 1def InsertToSeqlist(self,index,x): #向顺序表中第i个位置插入元素xif self.IsFull():print "表已满&#xff0c;不能插入&#xff01;"elif index<0 or index>&#61; self.maxSize:print "不合法的插入位置&#xff01;"elif index &#61;&#61; self.last &#43; 1:self.AppendData(x)else:for i in range(self.last,index-1,-1):self.data[i &#43; 1] &#61; self.data[i]self.data[index] &#61; xself.last &#43;&#61; 1def DeleteData(self,x): #从表中删除一个数据xif self.IsEmpty():print "表已空&#xff0c;无法删除元素&#xff01;"else:index &#61; -1for dataItem in self.data:index &#43;&#61; 1if x &#61;&#61; dataItem:breakfor i in range(index,self.last,1):self.data[index&#43;1] &#61; self.data[index]self.last -&#61; 1

1.4 顺序表的应用&#xff08;小试牛刀&#xff09;

大家都知道元素周期表&#xff1a;

前20位元素可以说是我们非常熟悉的了&#xff0c;接下来请使用顺序表来存储前20个化学元素&#xff0c;然后查找碳元素&#xff0c;获取其位置信息&#xff0c;再从表中删除钠元素&#xff0c;硅元素

最后向表中按其应在的位置插入钠元素&#xff0c;钪元素。

 

 

 


推荐阅读
  • 本文介绍了如何使用 Python 的 Bokeh 库在图表上绘制菱形标记。Bokeh 是一个强大的交互式数据可视化工具,支持丰富的图形自定义选项。 ... [详细]
  • 本文深入探讨了 Python 中的循环结构(包括 for 循环和 while 循环)、函数定义与调用,以及面向对象编程的基础概念。通过详细解释和代码示例,帮助读者更好地理解和应用这些核心编程元素。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 本文提供了使用Java实现Bellman-Ford算法解决POJ 3259问题的代码示例,详细解释了如何通过该算法检测负权环来判断时间旅行的可能性。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文详细介绍如何在VSCode中配置自定义代码片段,使其具备与IDEA相似的代码生成快捷键功能。通过具体的Java和HTML代码片段示例,展示配置步骤及效果。 ... [详细]
  • 本文探讨了在Java中实现系统托盘最小化的两种方法:使用SWT库和JDK6自带的功能。通过这两种方式,开发者可以创建跨平台的应用程序,使窗口能够最小化到系统托盘,并提供丰富的交互功能。 ... [详细]
  • 本文提供了一系列Python编程基础练习题,涵盖了列表操作、循环结构、字符串处理和元组特性等内容。通过这些练习题,读者可以巩固对Python语言的理解并提升编程技能。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
author-avatar
卟媞1亽儚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有