Skip to content

Commit 04842a8

Browse files
committed
修改数组插入删除元素的bug
1 parent 9600911 commit 04842a8

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/chapter2/part1/MyArray.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def insert(self, index, element):
99
if index < 0 or index > self.size:
1010
raise Exception("超出数组实际元素范围!")
1111
# 从右向左循环,逐个元素向右挪一位。
12-
for i in range(self.size-1, -1, -1):
12+
for i in range(self.size-1, index-1, -1):
1313
self.array[i+1] = self.array[i]
1414
# 腾出的位置放入新元素
1515
self.array[index] = element
@@ -23,7 +23,7 @@ def insert_v2(self, index, element):
2323
if self.size >= len(self.array):
2424
self.resize()
2525
# 从右向左循环,逐个元素向右挪一位。
26-
for i in range(self.size-1, -1, -1):
26+
for i in range(self.size-1, index-1, -1):
2727
self.array[i+1] = self.array[i]
2828
# 腾出的位置放入新元素
2929
self.array[index] = element
@@ -41,7 +41,7 @@ def remove(self, index):
4141
if index < 0 or index >= self.size:
4242
raise Exception("超出数组实际元素范围!")
4343
# 从左到右,逐个元素向左挪动一位
44-
for i in range(index, self.size):
44+
for i in range(index, self.size-1):
4545
self.array[i] = self.array[i+1]
4646
self.size -= 1
4747

@@ -52,9 +52,14 @@ def output(self):
5252

5353
array = MyArray(4)
5454
array.insert_v2(0, 10)
55-
array.insert_v2(0, 11)
56-
array.insert_v2(0, 15)
57-
array.remove(1)
55+
array.insert_v2(1, 11)
56+
array.insert_v2(2, 12)
57+
array.insert_v2(3, 13)
58+
array.insert_v2(4, 14)
59+
array.insert_v2(2, 15)
60+
array.insert_v2(2, 16)
61+
array.insert_v2(2, 17)
62+
array.remove(0)
5863
array.output()
5964

6065

0 commit comments

Comments
 (0)