본문 바로가기
반응형

2016/09/083

2016-09-08_조재찬_스터디일지_C언어-Circular Linked List Circular Linked List 모든 노드가 원의 형태를 이루며 연결되어 있기 때문에,사실상 머리와 꼬리의 구분이 없다. 다만 저장 순서를 근거로한 머리나 꼬리의 개념을 둘 뿐이다. 머리와 꼬리를 가리키는 포인터 변수를 두지않고하나의 포인터 변수를 가지고 머리 또는 꼬리에 노드를 추가할 수 있게 한다. 꼬리를 가리키는 변수 : tail머리를 가리키는 변수 : tail->next 변경하거나 추가할 함수 LNext원형 연결리스트를 계속해서 순환하는 형태로 변경!(이전 함수 그대로 써도 되지만 원형 연결리스트 특성을 반영) 앞과 뒤에 삽입이 가능한 두개의 함수 정의LinsertFront, LInsert void LInsert(List * plist, Data data);// 노드를 꼬리에 추가void L.. 2016. 9. 8.
2016-09-07_조재찬_스터디일지_C언어-연결리스트의 정렬삽입 정렬 기능 추가된 연결 리스트의 ADT 추가되는 함수void SetSortRule(List * plist, int (*comp)(LData d1, Ldata d2) int (*comp)(LData d1, Ldata d2) 반환형이 int인 LData형 인자를 두개 전달받는, 함수의 주소값 전달(typedef LData int) 다음과 같이 정의된 함수의 주소값이 SetSortRule 함수의 두번째 인자가 됨int WhoIsPrecede(LData d1, LData d2){if(d1 < d2)return 0;// d1이 head에 가까우면 0 반환elsereturn 1; // d2가 head에 가까우면 1 반환} 리스트라는 자료구조를 바꾸지 않으면서정렬의 기준을 지정(약속)하는 함수를 정의 DLinkedL.. 2016. 9. 8.
2016-09-07_조재찬_스터디일지_C언어-Linked List 연결리스트 (Linked List) 연결리스트의 구현을 이해하기 위해서는,malloc 함수와 free함수 기반의 메모리 동적할당에 대한 완전한 이해가 필요 배열은 index를 이용해 순차 접근이 가능한 자료구조배열은 기본적으로 정적이다. (길이의 변경 불가능) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include int main(void) { int arr[10]; int readCount = 0; int readData; int i; while (1) { printf("자연수 입력 (0이하 값 입력시 종료): "); scanf("%d", &readData); if (readData next = NULL; if (head == N.. 2016. 9. 8.
728x90
반응형