삽입 연산 (1) : 마지막 위치
insert_last(ArrayListType* list, int item)
// 리스트 마지막 위치에 item을 삽입
{
if !is_empty(*list) then
list->array[list->size] <- item(아이템 삽입)
list->size++;
end if
}
insert_last(ArrayListType* list, pos, item)
// 리스트 마지막 위치에 item을 삽입, 올바른 범위에 있는지 체크
{
if !is_empty(*list) and
pos >= 0 and pos < MAX then
for i<- list->size-1 to pos by -1 D
list->array[i+1] <-list ->array[i]
REPEAT
list->array[pos] <- item
list->size++
end if
}
삭제 연산(1) : 임의 위치
int delete(ArrayListType* list, int pos)
// pos 위치 값을 삭제하고, 삭제된 값을 반환
{
// pos 가 올바른 위치에 있는지 검사
if !is_empty(*list) && pos >= 0 && pos<size and then
item <-list->array[pos]
for i<- pos +1 to list->size-1
list->array[i-1] <-list->array[i]
REPEAT
list->sieze--
return item
}
리스트 구현
typedef int element; // 항목 타입 정의
typedef struct{ // 리스트 타입 정의
int array[MAX_LIST_SIZE]; // 항목을 포함 배열
int size; // 형재 리스트에 포함된 항목 개수
} ArrayListType;
'Data Structure > list' 카테고리의 다른 글
리스트 ADT (0) | 2020.05.27 |
---|