热门标签 | 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;钪元素。

 

 

 


推荐阅读
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
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社区 版权所有