1️⃣ List ADT
✔ 1. Data
- 동일한 유형의 요소들을 순서대로 모아놓았음
✔ 2. Operations
• List(): 데이터를 추가하기 위해 빈 list를 선언한다.
• insert(pos, e): pos 위치에 새 요소 e를 삽입한다.
• delete(pos): 위치 pos에서 요소를 제거하고 반환한다.
• isEmpty(): 목록이 비었는지 확인한다.
• getEntry(pos): pos 위치에 있는 요소를 반환한다.
• size(): 목록의 요소 수를 반환한다.
• clear(): list를 빈 상태로 초기화한다.
• find(item): 목록에서 항목을 검색하고 해당 index를 반환한다.
• replace(pos, item): pos 위치의 요소를 item으로 교체한다.
• sort(): 기준에 따라 목록의 요소를 정렬한다.
• merge(lst): 다른 목록의 요소를 목록에 추가한다.
• display(): 목록의 요소를 화면에 출력한다.
• append(e): 목록 끝에 새 요소를 추가한다.
2️⃣ 전역 변수 및 함수를 사용한 List의 구현(Python)
items = [] #리스트 항목 저장을 위한 파이썬 리스트
def insert(pos, elem): #pos위치에 새로운 요소 item을 삽입한다.
items.insert(pos,elm) #파이썬 리스트 클래스의 insert 연산
def delete(pos): #pos위치에 있는 요소를 꺼내고 반환한다.
retrun items.pop(pos) #파이썬 리스트 클래스의 pop 연산
def getEntry(pos) : return items[pos] #pos번재 항목 반환
def isEmpty(): return len(items) == 0 #크기가 0 : true, 아니면 false 반환
def size(): return len(items) #리스트의 크기 반환. len() 함수 사용
def clear(): items = [] #items를 초기화 --> 이건 오류날 듯
def find(item) : return items[pos] = elem #pos번째 항목 변경
def sort() : items.sort() #정렬(sort 메소드 이용)
def merge(lst) : items.extend(lst) #병합(확장)
def display(msg='ArrayList'): #출력 : 디폴트 인수 사용
print(msg, size(), items) #메시지+크기+배열내용 출력