[자료구조] 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페이지
    #include #include #include #define IS_FULL(ptr) (!(ptr))#define IS_EMPTY(ptr) (!(ptr))typedef struct {int key;} element;ty..
  • [스택] Link-Stack 2페이지
    #include #include #include #define IS_FULL(ptr) (!(ptr))#define IS_EMPTY(ptr) (!(ptr))typedef struct { /* 구조체 선언..
  • [Tree] Tree 의 구현 4페이지
    Linked list를 이용하여 data 값 { 50, 30, 20, 60, 65, 55, 70 }을 트리로 표현한다. root를 50으로 두고 root 보다 작은 data는 root의 왼쪽 sub-tree에 root 보다 큰 data는 root의 오른쪽 sub-tre..
  • Linked list 4페이지
    문제1> 아래와 같은 기능을 포함하는 List class를 정의하고 포인터를 사용하여 구현하시오.(즉, Linked-list로 구현하시오.) ◈ 리스트 길이를 구하는 연산 ◈ 리스트를 왼쪽에서 오른쪽으로 혹은 오른쪽에서 왼쪽으로 차례로 읽는 연산 ◈ i 번째 ..
  • [컴퓨터] linked list (연결리스트) 4페이지
    링크드 리스트는 연결 리스트라고도 부릅니다. 즉 연결된 리스트라는 것입니다. 실제로 배열은 메모리상에 연속적으로 저장되는데 반해 리스트는 여기저기 떨어져서 분포하면서도 서로서로 연결이 되있습니다. 기초적인 형태는 이렇습니다.
더보기

이 자료와 함께 구매한 자료

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