리스트 : 자료를 순서대로 저장하는 자료 구조
일직선으로 서로 연결되어 있기 때문에 선형 구조의 특성이 있다.
선형구조 - 리스트, 스택, 큐, 덱 등이 포함됨
선형구조 - 리스트, 스택, 큐, 덱 등이 포함됨
리스트의 예
문자리스트 : 문자 자료를 차례대로 연결하는 리스트, 문자열이라고도 한다.
저장되는 자료 : 각각의 문자
문자열 리스트 : 문자열 자료를 차례대로 저장
저장되는 자료가 문자열이기 때문에 문자열의 제일 마지막 글자가 '\0(NULL)'이다.
빈 공백 문자열의 첫번째 문자는 '\0'이다.
행렬
다항식을 저장하는 리스트 : 계수의 값을 저장한다.
↓
x^4+2x^3+3x^2+4x+5
D | A | T | A |
저장되는 자료 : 각각의 문자
문자열 리스트 : 문자열 자료를 차례대로 저장
D | A | T | A | \0 | |
\0 | |||||
A | R | R | A | Y | \0 |
빈 공백 문자열의 첫번째 문자는 '\0'이다.
행렬
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
다항식을 저장하는 리스트 : 계수의 값을 저장한다.
1 | 2 | 3 | 4 | 5 |
↓
x^4+2x^3+3x^2+4x+5
리스트의 추상 자료형
리스트 사용에 필요한 기본적인 연산들
주의 : 원소 추가 제거시, 0부터 시작되는 인덱스 임을 주의
예 ) 2번째, 인덱스 값 1
참고 : 열혈강의 자료구조
리스트 사용에 필요한 기본적인 연산들
이름 | 입력 | 출력 | 설명 | |
리스트생성 | createList() | 최대 원소 개수 n | 리스트 1 | 최대 n 개의 원소를 가지는 공백 리스트 1을 생성 |
리스트 삭제 | deleteList() | 리스트 1 | N/A | 리스트의 모든 원소 제거 |
원소 추가 가능 여부 판단 | isFull() | 리스트 1 | True/False | 리스트의 원소 개수가 최대 원소 개수와 같은지를 반환, 배열 리스트인 경우에만 의미 있음 |
원소 추가 | addElement() | 리스트 1 원소위치 p 원소 e |
성공/실패 여부 | 원소 e를 리스트의 특정 위치 p에 추가 |
원소 제거 | removeElement() | 리스트 1 원소 위치 p |
성공/실패 여부 | 리스트의 위치 p에 있는 원소를 제거 |
리스트 초기화 | clearList() | 리스트 1 | N/A | 리스트의 모든 원소를 제거 |
원소 개수 | getListLength() | 리스트 1 원소 위치 p |
원소(Element) | 리스트의 위치 p에 있는 원소를 반환 |
원소 반환 | getElement() | 리스트 1 원소 위치 p |
원소(Element) | 리스트의 위치 p에 있는 원소를 반환 |
주의 : 원소 추가 제거시, 0부터 시작되는 인덱스 임을 주의
예 ) 2번째, 인덱스 값 1
참고 : 열혈강의 자료구조
'Programing > 자료구조' 카테고리의 다른 글
[리스트] 연결리스트 (0) | 2012.01.21 |
---|---|
[리스트] 배열리스트 (0) | 2012.01.20 |