4. Linked List
- 최초 등록일
- 2011.06.24
- 최종 저작일
- 2011.04
- 14페이지/ 한컴오피스
- 가격 3,000원
소개글
전자전기프로그래밍 실습 보고서입니다. 수업내용에 충실하게 작성하엿구요 프로그램돌잘돌아갑니다. 레포트점수 A+맞은 자료이니 안심하시고 레포트작성에 참고하시길 바랍니다. 4. Linked List 연결 리스트(Linked List)에 대해 공부하고 4가지 함수를 만들어 보면서 자체참조 구조(Self-referential structure)에대해 알아보도록 합니다. 노드를 추가, 삭제할 경우 link를 바꾸는 순서에 대한 이해를 바탕으로, link를 통한 노드의 이동에 대해 이해해야 합니다. 이들 linked list의 학습을 위해 inserert, delete, Print등의 함수들을 배워봅니다.
목차
Ⅰ. 실습목적
Ⅱ. Flowchart
Ⅲ. Implementation
Ⅳ. 수행결과
Ⅴ. 결론 및 평가
Ⅵ. Source Code (with suitable comments)
본문내용
Ⅰ. 실습목적
연결 리스트(Linked List)에 대해 공부하고 4가지 함수 리스트에 배열의 원소를 앞에서부터 채워나가는 함수(headInsert), 뒤에서부터 채워나가는 함수(tailInsert), 앞에서부터 원소를 하나씩 제거하는 함수(headDelete), 리스트의 원소들을 모두 제거하는 함수(deleteList) 를 말한다.
를 만들어 보면서 자체참조 구조(Self-referential structure)에대해 알아보도록 합니다. 노드를 추가, 삭제할 경우 link를 바꾸는 순서에 대한 이해를 바탕으로, link를 통한 노드의 이동에 대해 이해해야 합니다. 이들 linked list의 학습을 위해 inserert, delete, Print등의 함수들을 배워봅니다.
Ⅱ. Flowchart
<작성할 프로그램 Function 구조 및 Program Functions 개요>
이번 프로그램에서는 headInsert(), headDelete(), tailInsert(), printList(), deleteList() 의
5개 함수가 이용됩니다. 순서대로 이용될 필요는 없지만 각각의 함수는 linked list를 작동시키는데 이용됩니다. 먼저 headInsert() 는 주어진 데이터를 list의 맨 앞에 넣어주는 역할을 합니다. 새로운 노드를 선언한 후에 malloc()함수를 이용, 동적메모리를 할당한 후 해당기능을 수행하도록 포인터를 조작합니다. headDelete()는 list 맨 앞에 존재하는 node를 제거하고, 그 node의 데이터를 주는 함수입니다. head 포인터가 node의 처음을 가리키며 중요하게 사용됩니다. 다음으로, tailInsert()는 주어진 데이터를 list의 맨 뒤에 넣어주는 기능을 수행합니다. 이는 맨 처음 작성하는 headInsert()함수와 그 기능면에서 동일합니다. printfList() 함수는 주어진 node로부터 list의 끝까지 access하면서 데이터를 읽어내는 함수입니다. 함수를 구현하는 과정중에 선언된 변수의 링크에 다시 변수를 연결시키는 부분이 있는데, 이것이 핵심입니다. 현재의 node를 다음node로 update시키는 방법을 살펴볼 수 있습니다. 마지막으로 deleteList() 함수는 이미 형성된 list의 모든 node를 제거합니다. 비어있는 리스트를 만들어야 하므로 head pointer와 tail pointer는 모두 NULL값을 가져야합니다.
<프로그램 작성에 이용된 System function>
이번 프로그램에서는 자체참조 구조를 이용한 연결리스트 (linked list)에 대해 학습합니다. 구조체 안에 자기 자신에 대한 pointer를 포함할 경우 이를 자체 참조 구조(Self referential structure)라고 부릅니다.
typedef struct list_node {
참고 자료
없음