홀수 번째 노드만 남기고 짝수 번째 노드를 삭제하는 함수 oddNode(L)과 짝수 번째 노드만 남기고 홀수 번째 노드를 삭제하는 함수 evenNode(L)을 ADL로 작성하라
- 최초 등록일
- 2010.04.29
- 최종 저작일
- 2010.04
- 2페이지/ 한컴오피스
- 가격 1,000원
소개글
자료구조 과제입니다. 연결리스트에서 홀수 번째 노드만 삭제하는 함수와 짝수번째 함수만 삭제하는 함수를 ADL언어로 작성한것입니다.
옆에 각주로 제가 생각한 설명도 표시하였습니다.
목차
- ADL
(1) 짝수 번째 노드 삭제
(2) 홀수 번째 노드 삭제
본문내용
리스트 L의 홀수 번째 노드만 남기고 짝수 번째 노드를 삭제하는 함수 oddNode(L)과
짝수 번째 노드만 남기고 홀수 번째 노드를 삭제하는 함수 evenNode(L)을 ADL로
작성하라.
- ADL
(1) 짝수 번째 노드 삭제
oddNode(L)
if ( L = null) then error ; // L이 공백이면 에러값을 줌
p <- L; // L이 null이 아니라면 포인터값 p에 L주소값을 넣어 주어 첫 번째 노드를 가리키게 함
if (p.link = null) then return; // p가 가리키는 첫노드의 링크값이 null 이라면 그냥 리턴시킴.
곧 리스트에 노드가 하나 뿐이라면 삭제할 노드가 없기 때문임.
else {
while (p.link ≠ null) do { // p링크값이 널이 아니라면 계속 반복문 돌림. p가 홀수번째 링크 를 가리키고 있음. 결국 짝수번째 다음 노드가 존재한다는거임.
q <- p.link; // 짝수번째 노드가 있기 때문에 q링크를 다음 짝수노드를 가리키게 함.
if (q.link = null) then p.link <- null; // q링크가 짝수번째 노드를 가리키는데 q링크값이 널 값이라면 마지막 노드이기 때문에 지금 가키리는 짝 수번째 전노드인 홀수번째 노드를 링크값을 null값 을 주어 마지막 노드로 만들어줌.
그 후 조건문나가서 밑에서 리턴시켜주고 다시 반복 문 시작.
else {
참고 자료
자료구조와 C (저자 : 이석호 , 출판사 : 정익사)