Python 数据结构 之 线性表 的链式存储结构
来源:互联网 发布:苹果电脑降价规律知乎 编辑:程序博客网 时间:2024/05/21 17:25
用Python 来实现 C语言中 线性表的链式存储结构。
文章转载请注明: Python 数据结构 之 线性表 的链式存储结构
代码地址
https://github.com/WenkeZhou/PythonDataStructure/blob/master/struct/List/MyLKList.py
# !/usr/bin/env python# -*- coding: utf-8 -*-__author__ = 'MrHero'class SqList(object): def __init__(self, size): self.data = list(None for _ in range(size)) self.length = 0 self.max_size = size def add_item(self, item): """ 添加单个item :param item: :return: """ if self.length < self.max_size: self.data[self.length] = item self.length += 1 else: raise IndexError("List is full !") def create_list(self, tar_list): """ 添加一个list到序列表中 :param tar_list: :return: """ for i, item in enumerate(tar_list): if self.length >= self.max_size: raise IndexError("List is full!") else: self.add_item(tar_list[i]) def delete(self, i): """ 删除位置为i的节点的值 :param i: :return: """ if i > self.length or i <= 0: raise IndexError("Index is out of range") else: j = i while j < self.length: self.data[j-1] = self.data[j] j += 1 self.data[self.length - 1] = None self.length -= 1 def get_elem(self, i): """ 返回位置为i的节点的值 :param i: :return: """ if i > self.length or i <= 0: raise IndexError("Index is out of range") else: return self.data[i-1] def get_location(self, elem): """ 返回第一个节点值为elem的位置 :param elem: :return: """ for i, item in enumerate(self.data): if item == elem: return i+1 return -1 def show_list(self): """ 输出序列表中所有的元素 :return: """ for i, item in enumerate(self.data): if item is not None: print self.data[i], else: print '' breakif __name__ == '__main__': sql = SqList(10) ll = [1, 2, 3, 4, 5] sql.create_list(ll) sql.show_list() sql.delete(1) sql.show_list() sql.get_elem(4) b = sql.get_location(3) print b
文章转载请注明: Python 数据结构 之 线性表 的链式存储结构
0 0
- Python 数据结构 之 线性表 的链式存储结构
- 数据结构:线性表之链式存储结构
- 【数据结构】线性表之链式存储结构
- 数据结构:线性表之链式存储结构
- 数据结构笔记之线性表的链式存储结构
- 【数据结构】线性表的链式存储结构
- 【数据结构】-线性表的链式存储结构
- 数据结构之线性表的链式存储
- C语言数据结构-2.线性表之链式存储结构
- <数据结构>线性表.链式存储结构
- 数据结构---线性表----链式存储结构
- 数据结构二线性链表的链式存储结构
- 跟我学数据结构-- 线性表的链式存储结构
- 【数据结构基础】线性表的链式存储结构--单链表
- 数据结构:线性表的链式存储结构_单链表
- 【数据结构】线性表的链式存储结构--单链表
- 数据结构(三):线性表的链式存储结构
- 线性表(二)之线性表的链式存储结构
- 迷你MVVM框架 avalonjs 学习教程22、avalon性能大揭密
- wamp中mysqld占用内存大mysql5.6
- 让大家能有个更好的了解、玩好功夫西游,特根据版面现状制定《功夫西游测试讨论区版规》
- 同一id不得对相同问题重复发表内容一样的主题,不得发表无实质内容的文章
- 使用DenyHosts阻止SSH暴力攻击
- Python 数据结构 之 线性表 的链式存储结构
- 不得发表恶意诋毁腾讯公司、攻击本版面、辱骂版主或他版友以及损害他人合法权益的内容
- 严禁在本版面发表出售qb和账号内容的帖。关于买卖、交易。此类内容的帖子发现转水
- Python 数据结构 之 栈 的顺序、链式存储结构
- 101. Domino
- 利用泛型抽取Dao层,加事务注解问题(java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)
- 102. Coprimes
- 【数据结构】队列-链表的实现
- 103. Traffic Lights