[2014년] C++ 자료구조 4주차 연습문제
- 최초 등록일
- 2014.05.24
- 최종 저작일
- 2014.04
- 4페이지/ 한컴오피스
- 가격 1,000원
목차
1. linked list가 필요한 이유는 ?
2. singly linked list에 자료를 추가하는 과정을 설명하시오.
3. singly linked list에서 자료를 삭제하는 과정을 설명하시오.
4. linked list를 처리하기 위해 필요한 기본적 연산3 가지를 나열하고, 각 연산과 관련된 C++언어의 command 또는 function에 대해 설명하시오.
5. x, y가 포인터 변수라 할 때, 다음 두 문장의 차이를 설명하시오.
6. 복합클래스에 대하여 설명하고, 복합클래스에 의하여 다음 문제 8과 같은 정수 연결리스트의 구조를 C++언어로 정의하시오.
7. 교재의 프로그램 4.4와 프로그램 4.5를 설명하시오.
8. 다음과 같은 메모리 상태에서 linked list를 다루는 경우 숫자의 크기순으로 link를 완성하고 다음 물음에 답하라.
a) 위 상태에서 ‘17’을 추가하는 과정을 설명하고 추가된 상태를 그려라.
b) 위 상태에서 ‘20’을 삭제하는 과정을 설명하고 삭제된 상태를 그려라.
9. chain과 circular list의 차이를 설명하시오.
10. 스택을 linked list로 구현하는 방법을 설명하고 배열로 구현하는 경우와 비교하여 장단점을 쓰시오.
본문내용
1. linked list가 필요한 이유는 ?
순차적 표현의 삽입, 삭제 등 연산을 수행할 때 생기는 불필요 자료이동의 문제를 해결할 수 있다. 연산을 수행할 때 링크를 삽입하여 하나 이상의 순서를 유지 할 수 있기 때문이다.
2. singly linked list에 자료를 추가하는 과정을 설명하시오.
첫 번째, 새로운 노드를 생성한다.
두 번째, 새 노드의 데이터 필드에 삽입할 데이터를 저장한다.
세 번째, 새 노드의 링크필드에 앞 노드의 링크 값을 저장한다.
네 번째, 앞 노드의 링크필드에 새 노드의 번지를 저장한다.
3. singly linked list에서 자료를 삭제하는 과정을 설명하시오.
첫 번째, 삭제할 노드의 링크 값을 앞 노드의 링크에 저장한다.
두 번째, 삭제할 노드를 반환한다.
4. linked list를 처리하기 위해 필요한 기본적 연산3 가지를 나열하고, 각 연산과 관련된 C++언어의 command 또는 function에 대해 설명하시오.
첫 번째, 생성
void Chain::Create2()
참고 자료
없음