별의 공부 블로그 🧑🏻‍💻
728x90
728x170

선형 리스트(Linear List) 처리 프로그램

## 함수 선언 부분 ##
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("데이터를 삭제할 범위를 벗어났습니다.")
        return

    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     # 1: 추가, 2: 삽입, 3: 삭제, 4: 종료

## 메인 코드 부분 ##
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

 

더보기
선택하세요(1: 추가, 2: 삽입, 3: 삭제, 4: 종료)--> 1
추가할 데이터--> 다현
['다현']
선택하세요(1: 추가, 2: 삽입, 3: 삭제, 4: 종료)--> 1
추가할 데이터--> 정연
['다현', '정연']
선택하세요(1: 추가, 2: 삽입, 3: 삭제, 4: 종료)--> 1
추가할 데이터--> 쯔위
['다현', '정연', '쯔위']
선택하세요(1: 추가, 2: 삽입, 3: 삭제, 4: 종료)--> 2
삽입할 위치--> 1
추가할 데이터--> 하나
['다현', '하나', '정연', '쯔위']
선택하세요(1: 추가, 2: 삽입, 3: 삭제, 4: 종료)--> 2
삽입할 위치--> 0
추가할 데이터--> 문별
['문별', '다현', '하나', '정연', '쯔위']
선택하세요(1: 추가, 2: 삽입, 3: 삭제, 4: 종료)--> 3
삭제할 위치--> 3
['문별', '다현', '하나', '쯔위']
선택하세요(1: 추가, 2: 삽입, 3: 삭제, 4: 종료)--> 4
['문별', '다현', '하나', '쯔위']
728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖