Skip to content

判断访问下标是否超出范围语句无效 #1

@yueya2354478715

Description

@yueya2354478715

src/chapter02/part05/MyArray.py中inser和insert_v2函数中的判断访问下标是否超出范围语句无效

class MyArray:
    def __init__(self, capacity):
        self.array = [None] * capacity
        self.size = 0

    def insert(self, index, element):
        # 判断访问下标是否超出范围
        if index < 0 or index > self.size:
             raise Exception("超出数组实际元素范围!")
      ...

    def insert_v2(self, index, element):
        # 判断访问下标是否超出范围
        if index < 0 or index > self.size:
             raise Exception("超出数组实际元素范围!")
      ...

使用self.size作为数组上界的判断,是无效的;
初始的self.size=0,每次插入新值后,self.size+1;
如果按序进行插入,下一个index=0,1,2,3这样插入,判断访问下班是否超出范围的分支会一直失效,起不到判断的作用。

index    size
0           1
1           2
2           3
3          4
....

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions