자료구조
선형 리스트 - 기본
explorer999
2023. 9. 8. 21:21
def add_data(friend):
katok.append(None)
klen=len(katok)
katok[klen-1] = friend
def insert_data(position, friend) :
if position<0 or position>len(katok):
print("데이터를 삽입할 범위를 벗어났습니다.")
return
katok.append(None)
klen=len(katok)
for i in range(klen-1, position, -1):
katok[i]=katok[i-1]
katok[i-1]=None
katok[position]=friend
def delete_data(position):
if position<0 or position>len(katok):
print("데이터를 삭제할 범위를 벗어났습니다.")
klen= len(katok)
katok[position]=None
for i in range(position+1,klen):
katok[i-1]=katok[i]
katok[i]=None
del(katok[klen-1])
katok=[]
select =-1
if __name__ =="__main__":
while (select !=4):
select = int(input("선택하세요(1: 추가, 2: 삽입, 3: 삭제, 4: 종료)-->"))
if (select ==1):
data = input("추가할 데이터--> ")
add_data(data)
print(katok)
elif (select== 2):
pos = int(input("삽입할 위치-->"))
data =input("추가할 데이터-->")
insert_data(pos, data)
print(katok)
elif (select ==3):
pos=int(input("삭제할 위치->"))
delete_data(pos)
print(katok)
elif (select ==4):
print(katok)
exit
else:
print("1~4 중 하나를 입력하세요.")
continue
#처음에는 빈 선형리스트에서 데이터 입력, 중간 삽입, 삭제를 사용자가 원하는 만큼 반복할 수 있다.
출처: 우재남, 『파이썬 자료구조와 알고리즘 for beginner』, 한빛아카데미(2021), 104-106.