[자료구조] Linkedlist(연결리스트)

등록일 2001.12.08 압축파일 (zip) | 6페이지 | 가격 1,000원

소개글

비쥬얼프로그래밍 수업때 C++ 을 했습니다.
중간고사 대체 과제물이 C++ 로 연결리스트 구현이었습니다.
정말 잘 돌아가고 주석 완벽하며 따로 보고서 첨부되어 있습니다.. A+ 임다..^^

목차

1. 프로그램 개요
본 프로그램은 Double Linked List를 구현한 것이다.
실질적인 Double Linked List 알고리즘은 DoublyLinkeList class에서 구현되고 있으며 각각 연결되는 리스트들은 ListElement2 class에서 정의되고 있다. 그리고 리스트에는 리스트들을 연결하는 포인트값 외에 그 리스트가 가지는 data 는 Template 으로 되어있고 이 data 에 대한 타입은 Object class 및 그 상속관계 있는 여러 class 에 의해 정의되어 있다.

보고자가 구현한 DoublyLinkedList class 의 여러 메소드 중에는 InversePut() 이라는 함수가 있는데 이는 각 list 의 link가 양쪽으로 연결되어 있는지를 Put() 만으로는 확인할 수 없기 때문에 추가해서 넣은 메소드이다.


2. ListElement2 class 의 역할과 내용
ListElement2 class 는 double linked list를 구현함에 있어서 각각 연결되는 하나의 리스트를 정의하는 class 이다.

리스트에는 다음과 같은 변수가 선언된다.
T datum;
ListElement2* pre;
ListElement2* next;
Template으로 datum(data의 단수) 의 타입이 결정되는데

본문내용

#include "main.h"
#include <math.h>

///////////////////////////////////////////////////////////////////////

int main(int argc, char *argv[])
{
DoublyLinkedList<Object *> list;
DoublyLinkedList<Object *> list2;
//////////////////////////////////////////////////////////////////
cout << endl;
cout << endl;
cout << "교수님 테스트 부분...^^";
cout << endl;
for(int b=0;b<26;b++) list.Append(new Char('A'+b));
cout << *list.First() << endl;
cout << *list.Last() << endl;

list.Put(cout);
cout << endl;
list.Purge();
list.Put(cout);

list.Append(new Char('B'));
list.Append(new Char('C'));
list.Prepend(new Char('A'));

list.Put(cout);
cout << endl;
list.ExtractHead();
list.Put(cout);
cout << endl;

list.ExtractTail();
list.Put(cout);


/////////////////////////////////////////////////////////////////
cout << endl;
cout << endl;
cout << "나름대로 테스트 한부분입니다...";
cout << endl;
for(int i=0;i<26;i++)
list2.Append(new Char('A'+i));

cout << *list2.First() << endl;
cout << *list2.Last() << endl;

cout << "리스트 출력:";
list2.Put(cout);
cout << endl;
cout << "리스트 역출력:";
list2.Inver
*원하는 자료를 검색 해 보세요.
  • [자료구조] 자료구조-List 4페이지
    ☆리스트(List) 리스트는 기억공간에 연속적으로 저장하는 순서 리스트(Sequence List)와 포인터를 갖는 연결 리스트(Linked List)가 있으며, 이들 리스트를 구성하는 요소를 원소 또는 노드라고 한다. 이러한 리스트의 개념은 파스칼 언어나 C 언어 등에..
  • 스택,큐,연결리스트 8페이지
    ? 스택(Stack) ? 1) 스택의 정의 ? 스택(Stack)이란 여러 개의 데이타 항목들이 일정한 순서로 나열된 자료 구조로, 한쪽 끝에서만 새로운 항목을 삽입하거나 기존 항목을 삭제할 수 있도록 고안된 것이다. 2)스택의 원리 ? 스택은 동전을 넣고 뺄 수 있도록..
  • [큐] Link-Queue 2페이지
    // 동적 연결 큐 (Dynamic Linked Queue) // 연결 리스트로 구현한 큐. // link-queue.cpp #include #include #include #define IS_FULL(ptr) (..
  • [스택] Link-Stack 2페이지
    // 동적 연결 스택(Dynamic Linked Stack) // 연결 리스트로 구현한 스택. // link-stack.cpp #include #include #include #define IS_FULL(ptr) ..
  • [Tree] Tree 의 구현 4페이지
    { Tree 의 구현 ( Linked list의 이용 ) Input ; data 값 { 50, 30, 20, 60, 65, 55, 70 }을 트리로 표현한다. root를 50으로 두고 root 보다 작은 data는 root의 왼쪽 sub-tree에 root 보다 큰 ..
  • Linked list 4페이지
    ..FILE:Linked List.hwp § HW #3 과제설명 struct 문을 이용해서 linked_list를 만들어서 학번 순으로 정렬하여라. § 해결방법 struct 문을 이용해 학번, 나이, 성적, 포인터를 가진 구조체를 만들고, 각각의 포인터를 다음 구조체를..
  • [컴퓨터] linked list (연결리스트) 4페이지
    linked list의 설명 리스트는 링크드 리스트라고도 부릅니다. 즉 연결된 리스트라는 것입니다. 실제로 배열은 메모리상에 연속적으로 저장되는데 반해 리스트는 여기저기 떨어져서 분포하면서도 서로서로 연결이 되있습니다. 기초적인 형태는 이렇습니다. 정보 포인터(다음 데..
더보기

이 자료와 함께 구매한 자료

      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      4. 지식포인트 보유 시 지식포인트가 차감되며
         미보유 시 아이디당 1일 3회만 제공됩니다.
      최근 본 자료더보기
      상세우측 배너
      추천도서
      [자료구조] Linkedlist(연결리스트)