无序表的实现Python

无序表的实现

  • 无序表是一种线性结构,对比有序表(元素的位置是根据其值的大小而设定的),无序表的元素位置不是因为其值的大小而改变。类似于Python中的List。Python中的List是以顺序存储的方式实现的,本文以链式存储的形式实现无序表,所以元素互称为前驱元素,后继元素。

无序表的方法主要有增加元素、删除元素、查找元素、无序表大小、是否非空等等。简单实现了几个方法(和c语言实现的方法类似)。

以链表的形式实现,就需要有节点node,节点中有两个变量,一个存储当前节点的值,另一个存储下一个节点的对象(对比c语言中的指针地址)。节点类的方法有,给节点赋值,取节点值,给节点赋下一个节点的对象,取节点下一个节点的对象。定义类如下:

class Node(object):
    def __init__(self, initdata):
        self.data = initdata
        self.next = None

    def getData(self):
        return self.data

    def getNext(self):
        return self.next

    def setData(self, newdata):
        self.data = newdata

    def setNext(self, newnext):
        self.next = newnext

接下来看无序表如何实现,首先考虑一下无序表是空时(没有元素,没有节点),内部是什么形式的。这个其实不容易想

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值