[자료구조] 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 언어 등에 ..
  • Linked list 10페이지
    문제1> 아래와 같은 기능을 포함하는 List class를 정의하고 포인터를 사용하여 구현하시오.(즉, Linked-list로 구현하시오.) ◈ 리스트 길이를 구하는 연산 ◈ 리스트를 왼쪽에서 오른쪽으로 혹은 오른쪽에서 왼쪽으로 차례로 읽는 연산 ◈ i 번째 ..
  • c++자료구조론-4장 연습문제 5페이지
    1. linked list가 필요한 이유는 ? 순차적 표현의 문제점은 삽입, 삭제 연산을 수행할 때 생기는 불필요 자료이동의 문제를 해결할 수 있으며, 링크를 삽입함으로써 하나 이상의 순서를 유지 할 수 있기 때문에2. singly linked list에 자료를 추가하..
  • [자료구조][자료구조]링크드 리스트 사용하기 10페이지
    <문제 해결> 우선 헤더파일에 링크드 클래스를 선언하였다. 이 부분에는 리스트에 필요한 문제에서 주어진 기본 함수들과 멤버 변수들을 선언하였다. 그리고 그 함수들의 구현은 cpp 파일 안에 구현을 하였는데, 우선 자료구조 책에 나온 표준적인 인터페이스로 구현하였고, E..
  • [2014년] C++ 자료구조 4주차 연습문제 4페이지
    1. linked list가 필요한 이유는 ? 순차적 표현의 삽입, 삭제 등 연산을 수행할 때 생기는 불필요 자료이동의 문제를 해결할 수 있다. 연산을 수행할 때 링크를 삽입하여 하나 이상의 순서를 유지 할 수 있기 때문이다.2. singly linked list에 자..
  • - Single Linked List 구현 - 13페이지
    (4) 주석이 달린 소스코드#include #include #define LEN 6 // 항의 개수를 6개로 제한함.typedef struct node //구조체선언{ int coef, exp; struct node *link;}NO..
  • [큐] Link-Queue 2페이지
    #include #include #include #define IS_FULL(ptr) (!(ptr))#define IS_EMPTY(ptr) (!(ptr))typedef struct {int key;} element;ty..
더보기

이 자료와 함께 구매한 자료

      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서