时间:2021-05-22
本文实例为大家分享了python实现线性表顺序的具体代码,供大家参考,具体内容如下
线性表
1.抽象数据类型表示(ADT)
类型名称:线性表
数据对象集:线性表是n(>=0)个元素构成的有序序列(a1,a2,….,an)
操作集:
2.线性表的顺序实现
1.表示方法:
其中100可以自己规定,last代表线性表的长度
2.建立空的顺序表
# 1.初始化建立空的线性表def MakeEmpty(num): PtrL = Lnode(num) return PtrL# 测试建立空的线性表s = MakeEmpty(10)print(s.data[0:s.last])print(s.last)12345678910测试结果:
3.按值查找
# 2.查找给定值的位置def Find(x, L): i =0 while(i <= L.last and L.data[i] != x): i+=1 if(i> L.last): return -1 else: return i# 测试查找函数num = [0,1,2,3,4,5,6,7,8,9]L = Lnode(10)for i in range(10): L.data[i] = num[i]print("建立新的线性表")print(L.data[0:L.last])print("查找元素2")print("下标为:")print(Find(2,L))print("查找元素12")print("下标为:")print(Find(12,L)) # 找不到返回-1测试结果:
4.插入操作
# 3.插入(在第i(0<=i<=n)位置上插入一个值为x的新元素)def Insert(x,i,L): if i<0 or i>L.last: print("位置不合理") return else: for j in range(L.last,i-1,-1): L.data[j+1] = L.data[j] L.data[i] = x L.last+=1 return# 测试插入函数num = [0,1,2,3,4,5,6,7,8,9]L = Lnode(10)for i in range(10): L.data[i] = num[i]print("建立新的线性表")print(L.data[0:L.last])print("在位序3插入元素6")Insert(6,3,L)print(L.data[0:L.last])测试结果:
5.删除操作
# 4.删除第i(0<=i<=n-1)个位置上的元素def Delete(i,L): if i<0 or i>=L.last: print("不存在该元素") return else: for j in range(i,L.last-1): L.data[j] = L.data[j+1] L.last -=1 return# 测试删除函数num = [0,1,2,3,4,5,6,7,8,9]L = Lnode(10)for i in range(10): L.data[i] = num[i]print("建立新的线性表")print(L.data[0:L.last])print("删除位序3的元素")Delete(3,L)print(L.data[0:L.last])测试结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言首先说下线性表,线性表是一种最基本,最简单的数据结构,通俗点讲就是一维的存储数据的结构。线性表分为顺序表和链接表:顺序表示指的是用一组地址连续的存储单元依次
C语言线性表顺序存储结构实例详解1、什么是顺序存储结构?用一段地址连续的存储单元依次存储线性表的数据元素。2、线性表的顺序存储结构#include#includ
用Python仿照C语言来实现线性表的顺序存储结构,供大家参考,具体内容如下本文所采用的数据结构模板为《数据结构教程》C语言版,李春葆、尹为民等著。该篇所涉及到
C++数据结构线性表-数组实现线性表的数组实现,实现几个核心的功能,语言是C++,如果有更好的想法和意见,欢迎留言~~~/*Author:Moyiii*线性表的
前言:在前面我们提到数据结构的线性表。那么今天我们详细看下Java源码是如何实现线性表的,这一篇主要讲解顺序表ArrayList链式表下一篇在提及。1:Arra