반응형
LIST
class ArrayList:
def __init__(self):
self.count= 0
self.current = 0
def move_next(self): # ㄷㅏ음 값으로 이동
if self.current >= self.count:
return
self.current = self.current + 1
def get(self): # 현재 위치 값 가져오기
if self.current == self.count :
return
return self.data.get(self.current)
def add(self, value): # 현재값의 바로 앞에 값 추가하기 새로운 배열을 만들어서 추가하기
for i in range(self.count-1,self.current,-1):
self.data.set(i+1,self.data.get(i))
self.data.set(self.current,value)
self.count = self.count + 1
def delete(self): # 현재값 삭제하기
for i in range(self.current+1,self.count):
self.data.set(i-1,self.data.get(i))
self.count = self.count-1
def move_front(self): # 현재값 앞으로 이동하기
self.current = 0
AL = Arraylist()
AL
__init__ 함수
self.count : 배열의 길이
self.current : 현재값
move_next 함수
- 다음 값으로 이동하는 함수이며 출력하지 않는다.
-23' 만약에 다음값이 없을때는 아무것도 하지않는다.
-25' 다음값이 있을때 현재 current 커서를 +1로 옮긴다.(다음 값 출력)
get 함수
- 현재값을 출력하는 함수이다.
- 27' 만약에 현재값이 비어 있다면 아무것도 하지않는다.
- 29' 값이 있다면, 현재값을 출력한다.
add 함수
- 현재 위치에 값을 추가하고 다음값들은 인덱스 + 1씩 늘려줌( 뒤로 이동)
- 31' 마지막 값에서 부터 현재 위치까지 이동한다.
- 32' 이동하면서, 인덱스를 +1씩 늘려준다.
- 33' 현재 커서가 있던 위치가 비어지고, 추가 할 값이 입력된다.
-34' 전체의 배열 길이가 +1 된다.
delete 함수
- 현재 위치의 값을 삭제하고, 다음 값들은 앞으로 하나씩 땡겨준다(add와 반대)
- 36' 현재위치의 다음값들부터 반복한다.
- 37' 인덱스를 하나씪 줄여준다.
- 38' 전체 배열의 길이가 -1된다.
move_front 함수
- 현재 값에서 앞으로 이동하기.
- 인덱스가 0번째인 값으로 이동
반응형
LIST
'파이썬' 카테고리의 다른 글
x만큼 간격이 있는 n개의 숫자 - 파이썬 (0) | 2024.01.30 |
---|---|
2024 코딩 계획 (0) | 2023.12.25 |
[자료구조] Stack을 Queue로 구현하기 (0) | 2023.05.14 |
[자료구조] Stack을 연결 리스트로 구현하기 (0) | 2023.05.14 |
[자료구조] Array로 Stack을 구현하기 (0) | 2023.05.14 |
댓글