선형리스트

선형 리스트의 기본

  1. 선형 리스트의 개념
    선형 리스트(Linear List)는 데이터를 일정한 순서로 나열한 자료구조

    ex) 좋아하는 순위 = ‘1위:딸기’, ‘2위:바나나’, ‘3위:포도’, ‘4위:사과’, ‘5위:배’
    (실제 메모리는 물리적인 순서가 아닌 개념적 순서로 저장된다.)

    리스트 = 배열

  2. 선형 리스트의 원리
    (선형 리스트의 데이터 삭제와 삽입)

  • 데이터 삽입
    선형 리스트에 데이터를 삽입하는 과정 중 2위와 3위 사이에 새로운 데이터인 복숭아를 넣을라고하는데 빈틈이 없다면 맨 끝에 빈칸을 확보한 후 3위부터 5위 자리를 옮겨 3위자리를 비워준 후 복숭아를 삽입한다.

  • 데이터 삭제
    데이터 삭제 후 생기는 빈칸을 선형 리스트는 그대로 두지 않기 때문에 삭제된 데이터 뒤에 있던 데이터들이 앞으로 한 칸씩 이동시킨 후 맨 마지막 빈칸을 제거한다.



선형 리스트의 간단 구현

  1. 데이터가 5개인 선형 리스트 생성 ```python fruit = [“바나나”, “딸기”, “포도”, “사과”, “감귤”] print(fruit)

#출력 [‘바나나’, ‘딸기’, ‘포도’, ‘사과’, ‘감귤’]

배열은 0번째부터 시작함

2. 데이터 삽입
```python
fruit.append(None) #빈칸 삽입
print(fruit)

#출력
['바나나', '딸기', '포도', '사과', '감귤', None]
fruit[5] = "배" #빈칸에 데이터 삽입
print(fruit)

#출력
['바나나', '딸기', '포도', '사과', '감귤', '배']
  • 데이터 중간에 데이터 삽입하기 ```python #1 fruit.append(None) #빈칸 삽입 print(fruit)

#출력 [‘바나나’, ‘딸기’, ‘포도’, ‘사과’, ‘감귤’, ‘배’, None]

```python
#2
fruit[6] = fruit[5] #동일시 하기
fruit[5] = None # 빈칸으로 만들기
print(fruit)

#출력
['바나나', '딸기', '포도', '사과', '감귤', None, '배']
fruit[5] = fruit[4] 
fruit[4] = None 
fruit[4] = fruit[3] 
fruit[3] = None 
print(fruit)

#출력
['바나나', '딸기', '포도',  None, '사과', '감귤', '배']
fruit[3] = "망고"
print(fruit)

#출력
['바나나', '딸기', '포도',  '망고', '사과', '감귤', '배']
  1. 데이터 삭제 ```python fruit[4] = None fruit[4] = fruit[5] fruit[5] = None fruit[5] = fruit[6] fruit[6] = None

del(fruit[6])

print(fruit)

#출력 [‘바나나’, ‘딸기’, ‘포도’, ‘망고’, None, ‘감귤’, ‘배’] [‘바나나’, ‘딸기’, ‘포도’, ‘망고’, ‘감귤’, None,’배’] [‘바나나’, ‘딸기’, ‘포도’, ‘망고’, ‘감귤’, ‘배’,None] [‘바나나’, ‘딸기’, ‘포도’, ‘망고’, ‘감귤’, ‘배’] ```