Skip to content

Commit 75b6665

Browse files
author
shengshijun
committed
1, 双向链表中添加注释.
2, 修改目录结构
1 parent c59d1df commit 75b6665

File tree

6 files changed

+39
-6
lines changed

6 files changed

+39
-6
lines changed

src/hashtable/__init__.py

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/list/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
#!/usr/bin/env python
22
# -*- coding:UTF-8
33
__author__ = 'shenshijun'
4+
from linked_list import LinkedList
5+
from mutiarray_linkedlist import MultiArrayLinkedList
6+
from skip_list import SkipList
7+
from stack import Stack

src/list/linked_list.py

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ def __init__(self, *arg):
3939
self.append(value)
4040

4141
def insert(self, index, value):
42+
"""
43+
在列表的中间插入一个元素
44+
:param index: 要插入的位置
45+
:param value: 要插入的值
46+
:return: 插入值之后列表的大小
47+
"""
4248
if index > self.__length:
4349
raise IndexError("can not insert beyond the list")
4450

@@ -53,31 +59,51 @@ def insert(self, index, value):
5359
cur_node.prev = node
5460
prev_node.next_node = node
5561
self.__length += 1
56-
return node
62+
return self.__length
5763

5864
def append(self, value):
65+
"""
66+
在列表的结尾插入一个元素
67+
:param value:要插入的元素
68+
:return: 插入之后列表的大小
69+
"""
5970
last_node = self.__dump.prev
6071
node = LinkedList.Node(value, last_node, self.__dump)
6172
# 现在结尾的节点指向新加的结尾点
6273
last_node.next_node = node
6374
self.__dump.prev = node
6475
self.__length += 1
65-
return node
76+
return self.__length
6677

6778
def prepend(self, value):
79+
"""
80+
在列表的最前面插入一个值
81+
:param value: 要插入的元素
82+
:return: 插入之后列表的大小
83+
"""
6884
node = LinkedList.Node(value, self.__dump, self.__dump.next_node)
6985
self.__dump.next_node.prev = node
7086
self.__dump.next_node = node
7187
self.__length += 1
72-
return node
88+
return self.__length
7389

7490
def search(self, value):
91+
"""
92+
寻找一个元素是否存在于列表中
93+
:param value: 要寻找的元素
94+
:return: 如果没有,返回None;如果有,则返回找到的值
95+
"""
7596
cur_node = self.__dump.next_node
7697
while cur_node is not self.__dump and cur_node.value != value:
7798
cur_node = cur_node.next_node
7899
return cur_node.value
79100

80101
def delete(self, value):
102+
"""
103+
删除一个值
104+
:param value: 要删除的元素
105+
:return: 被删除的值
106+
"""
81107
cur_node = self.__dump.next_node
82108
while cur_node is not self.__dump and cur_node.value != value:
83109
cur_node = cur_node.next_node

src/map/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env python
2+
# -*- coding:UTF-8
3+
__author__ = 'shenshijun'
4+
5+
from hash_map import HashMap
6+
from open_address_map import OpenAddressMap
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)