博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构与算法-python实现无序表(单链表)
阅读量:3908 次
发布时间:2019-05-23

本文共 1544 字,大约阅读时间需要 5 分钟。

python没有指针所以需要自己定义结点,在结点中定义数据域和指针域

# 单链表的python实现# 定义一个结点class Node:    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# 定义一个无序链表class UnorderedList:    # 定义一个头结点,初始指向为空    def __init__(self):        self.head = None    # 向链表加入元素    def add(self, item):        temp = Node(item)        temp.setNext(self.head)        self.head = temp    # 判断链表元素个数    def size(self):        current = self.head        count = 0        while current != None:            count += 1            current = current.getNext()        return count    # 搜索链表,查找元素item,找到返回True,失败返回False    def search(self, item):        current = self.head        found = False        while current != None and not found:            if current.getData() == item:                found = True            else:                current = current.getNext()        return found    # 删除链表元素,先查找,找到后指向目标元素下一个元素    # 若删除第一个元素直接将head指向第二个元素即可    def remove(self, item):        current = self.head        previous = None        found = False        while not found:            if current.getData() == item:                found = True            else:                previous = current                current = current.getNext()        if previous == None:            self.head = current.getNext()        else:            previous.setNext(current.getNext())

 

转载地址:http://ygren.baihongyu.com/

你可能感兴趣的文章
.Net 5性能改进
查看>>
InfluxDB 2.0 之Flux语法篇
查看>>
TensorFlow 2学习和工业CV领域应用 心得分享
查看>>
程序员过关斩将--真的可以用版本号的方式来保证MQ消费消息的幂等性?
查看>>
Java面试必问JVM调优,那.NET5呢?
查看>>
把 Console 部署成 Windows 服务,四种方式总有一款适合你!
查看>>
缓存一致性和跨服务器查询的数据异构解决方案canal
查看>>
BeetleX之Websocket服务使用
查看>>
【源码】常用的人脸识别数据库以及上篇性别识别源码
查看>>
深入探究ASP.NET Core Startup的初始化
查看>>
跟我一起学Redis之Redis配置文件啃了一遍之后,从尴尬变得有底气了(总结了一张思维图)...
查看>>
一路踩坑,被迫聊聊 C# 代码调试技巧和远程调试
查看>>
IdentityServer4系列 | 资源密码凭证模式
查看>>
TIOBE 11 月榜单:Python 挤掉 Java,Java的下跌趋势确立了?
查看>>
C#实现观察者模式
查看>>
使用Azure静态Web应用部署Blazor Webassembly应用
查看>>
Win10 Terminal + WSL 2 安装配置指南,精致开发体验
查看>>
Xamarin 从零开始部署 iOS 上的 Walterlv.CloudKeyboard 应用
查看>>
【招聘(西安)】深圳市中兴云服务有限公司.NET工程师
查看>>
注意.NET Core进行请求转发问题
查看>>