2016년 7월 16일 토요일

c언어 자료구조, 배열을 이용한 리스트3(ArrayListTest.cpp)

2009.05.06

배열을 이용한 구조체 파일3가지를 한 프로젝트에 넣어야지 돼용.

*.cpp는 소스에 *.h는 헤더파일에 넣으면 돼용


#include "ArrayList.h"
#include <stdio.h>
void display(ArrayListType *);

// 레포트를 제출할 때는 LIST ADT에 있는 정의되어 있는 모든 operation을 사용하지 예제를 작성하여 제출할 것
void main()
{
 ArrayListType list1;
 ArrayListType *plist;
 init(&list1);
 add(&list1, 0, 10);
 add(&list1, 0, 20);
 add(&list1, 0, 30);
 add_first(&list1, 1777);
 add_last(&list1, 7777);
 remove(&list1,1);
 display(&list1);
 printf("\n\n       is_*()함수를 test합니다.\n");
 printf("\n혹시 list1이 텅 비어있나요??\n");
 ans(is_empty(&list1));
 printf("혹시 list1이 꽉 찼나요??\n");
 ans(is_full(&list1));

 plist = (ArrayListType *)malloc(sizeof(ArrayListType));
 init(plist);
 add(plist, 0, 10);
 add(plist, 0, 20);
 add(plist, 0, 30);
 add_last(plist,9056);
 add_last(plist,6291);
 replace(plist,2 ,22 );
 printf("\n\n       position에 관련된 함수를 test합니다.\n\n");
 printf("plist의 맨앞에는 %d이(가) 있습니다.\n",plist->list[first(plist)]);
 printf("plist의 맨뒤에는 %d이(가) 있습니다.\n",plist->list[last(plist)]);
 printf("plist[2]에는 %d이(가) 있습니다.\n",get_entry(plist,2));
 printf("plist[2] 앞에는 %d이(가) 있습니다.\n",plist->list[before(plist,2)]);
 printf("plist[2] 뒤에는 %d이(가) 있습니다.\n",plist->list[after(plist,2)]);

 printf("\n\n       clear(plist)전의 출력결과.\n\n");
 display(plist);
 printf("plist에 9056이 있습니까?\n");
 ans(is_in_list(plist,9056));
 printf("plist의 길이는 %d입니다.\n",get_length(plist));
 clear(plist);
 printf("\n\n       clear(plist)후의 출력결과.\n\n");
 display(plist);
 printf("plist에 9056이 있습니까?\n");
 ans(is_in_list(plist,9056));
 printf("plist의 길이는 %d입니다.\n",get_length(plist));

 error("\n\n끝~~");
}
void display(ArrayListType *L)
{
 position idx;
 if(is_empty(L)){
  printf("list is empty");
  return;
 }

 printf("folowing items are stored in List\n");
 for(idx = first(L); idx <= last(L); idx++){
  printf("%d  ", get_entry(L, idx));
 }
 printf("\n");
}

댓글 없음:

댓글 쓰기