Data Structure/list

리스트 구현 : 배열 (리스트 표현)

appmaster 2020. 5. 27. 13:01

삽입 연산 (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