안녕, 세상!

2 . 배열 리스트(1) 본문

It공부/자료구조( C언어 )

2 . 배열 리스트(1)

dev_Lumin 2020. 3. 16. 21:13

① 리스트

 - 순서대로 자료를 저장하는 자료구조입니다.

 - 여기서 순서란 차례로 한줄을 세웠다는 뜻입니다.

 - 한 줄은 줄을 세울 때 연결되는 앞 항목과 뒤 항목이 모두 1개라는 뜻입니다.

 - 한 줄로 연결된 구조를 선형 구조 라고 합니다.

 - 리스트는 선형 구조입니다.

 

 

 

 

② 리스트 사용 과정

 

리스트를 만드는 과정을 예시를 들어 설명하겠습니다.

리스트에 정수자료 10, 20, 30 순서로 값을 입력하고 실제 저장되는 순서를 30 10 20 으로 하겠습니다.

 

(1) 새로운 자료 추가

 

1. 리스트를 만듭니다.

 

2. 자료 10을 입력받아 리스트에 저장합니다.

 

 - 비어있는 리스트에 새로운 자료를 추가하는 경우는 첫 번째 위치에 자료를 추가합니다.

 - 리스트 중간이 비어 있는 것은 비정상적인 오류입니다.

 

3. 자료 20을 입력받아 리스트의 두 번째 위치(맨 마지막)에 저장합니다.

 

 - 이미 한 개의 자료가 저장되어 있을 때, 새로운 자료는 기존에 저장된 자료의 앞이나 뒤에 자료를 저장할 수 있습니다.

 - 앞이나 뒤에 자료를 저장할 수 있으므로 자료를 추가 할 위치 정보가 필요합니다.

 30 10 20 순서로 저장할려면 10뒤에 저장하면 됩니다.

 

4. 자료형 30을 입력받아 리스트의 첫 번재 위치에 저장합니다.

 

 

(2) 값 가져오기

 

5. 리스트에서 두 번째 위치에 저장된 자료의 값을 가져옵니다.

 

 - 리스트의 자료에 접근한다는 말은 리스트에 저장된 자료의 값을 가져온다는 뜻입니다.

 - getListData()라는 함수를 만들어 자료의 위치 정보에 대한 값을 입력 파라미터로 하여, 실제 리스트의 해당 위치에 저장된 자료를 반환합니다.

 

 

(3) 기존 자료의 제거

 

6. 리스트에서 첫 번째 자료를 제거합니다.

30이 제거되면서 두 번째에 위치했던 값 10이 첫 번째 값으로 바뀝니다.

 

7. 리스트 자체를 삭제합니다.

 

 

 

 

③ 리스트의 추상 자료형

자료(Data) - 프로그램에서 처리되는 대상으로 특정 값

자료형(Data type) - 자료와 이 자료를 처리하기 위한 명령 혹은 연산이 합쳐진 것

 

추상 자료형 - 추상적으로 정의된 자료형

 

이름/함수 입력(변수명) 출력 설명
리스트 생성 creatList() - 리스트(list) 빈 리스트를 생성
자료 추가 addListData()

리스트(list)

추가할 위치(position)

자료(data)

성공/실패 여부 자료를 추가할 위치의 칸에 추가
자료 반환 getListData()

리스트(list)

자료위치(position)

자료

리스트 위치에 있는 자료값 반환

자료 개수 반환 removeListData()

리스트(list)

자료의 개수 리스틔의 자료 개수를 반환
자료 제거 clearList()

리스트(list)

자료위치(position)

성공/실패 여부 리스트의 모든 자료를 제거

모든 자료 제거

(리스트 초기화)

clearList() 리스트(list) N/A 리스트의 모든 자료를 제거
리스트 삭제 deleteList()

리스트(list)

N/A 리스트의 모든 자료를 삭제하고 리스트의 메모리를 헤제

 

 

 

 

Comments