반응형

stack 8

[C언어 자료구조] 5.4 스택 소스 코드

[C언어 자료구조] 5.4 스택 소스 코드//common.h #pragma once //헤더 파일을 한 번만 포함해서 컴파일 #include #include #include #include #include #include #include #pragma warning(disable:4996) //4996컴파일 경고 메시지 출력 해제 //Book.h #pragma once #include "common.h" #define MAX_TIT_LEN 200 #define MAX_AUT_LEN 20 typedef struct _Book Book; struct _Book { char title[MAX_TIT_LEN+1]; char author[MAX_AUT_LEN+1]; int num; }; Book *New_Book..

[C언어 자료구조] 5.3 스택 테스트

[C언어 자료구조] 5.3 스택 테스트 스택을 테스트하는 코드를 작성합시다. int main() { EHStack *ehs = 0; Book *book = 0; 먼저 스택을 동적으로 생성합니다. ehs = New_EHStack(); 적당히 자료를 스택에 보관합니다. 여기에서는 세 개의 도서를 보관할게요. EHStack_Push(ehs,New_Book("C언어","홍길동",10)); EHStack_Push(ehs,New_Book("C++언어","강감찬",20)); EHStack_Push(ehs,New_Book("자료구조","김구",5)); 이제 하나의 자료를 꺼내어 봅시다. 가장 최근에 보관한 자료는 "자료구조"입니다. book = (Book *)EHStack_Pop(ehs); if(book) { Book..

[C언어 자료구조] 5.2 스택 구현

[C언어 자료구조] 5.2 스택 구현 스택 구현은 큐 구현과 매우 흡사합니다. 먼저 동적으로 스택을 생성하는 함수와 소멸하는 함수는 큐 구현처럼 래퍼 함수로 구현합니다. EHStack *New_EHStack() { return New_LinkedList(); } void Delete_EHStack(EHStack *ehs) { Delete_LinkedList(ehs); } 스택에 자료를 보관하는 함수도 연결리스트에 순차 보관하는 함수를 호출하는 래퍼 함수입니다. void EHStack_Push(EHStack *ehs, Element data) { LinkedList_PushBack(ehs,data); } 스택에서 가장 최근에 보관한 자료를 꺼내는 함수를 작성합시다. 이 부분이 큐와 차이가 있는 부분입니다...

[C언어 자료구조] 5.1 스택 설계

[C언어 자료구조] 5.1 스택 설계 스택도 연결리스트를 래핑하여 만들게요. 연결리스트 형식을 스택 형식으로 타입 재지정합니다. #include "LinkedList.h" typedef LinkedList EHStack; 동적으로 스택을 생성하는 함수와 소멸하는 함수를 제공합시다. EHStack *New_EHStack(); void Delete_EHStack(EHStack *ehs); 스택에 자료를 보관하는 함수와 꺼내는 함수를 제공합시다. void EHStack_Push(EHStack *ehs, Element data); Element EHStack_Pop(EHStack *ehs); 스택이 빈 상태인지 확인하는 함수도 제공합시다. int EHStack_IsEmpty(EHStack *ehs);

[C언어 자료구조] 5. 스택(Stack)

[C언어 자료구조] 5. 스택(Stack) 스택은 큐와 달리 가장 최근에 보관한 자료를 먼저 꺼내는 후입선출(LIFO, Last In First Out)형태로 동작하는 자료구조입니다. 스택은 배열이나 연결리스트로 구현할 수 있어요. 여기에서는 배열로 구현하는 것을 먼저 해 본 후에 미리 만든 연결리스트를 래핑하는 방법을 살펴보아요. 먼저 스택 구조체를 정의하세요. 스택에는 저장소와 가장 최근에 보관한 위치를 멤버로 갖고 있어야 해요. #define STACK_SIZE 10 typedef struct Stack //Stack 구조체 정의 { int buf[STACK_SIZE];//저장소 int top; //가장 최근에 보관한 인덱스 }Stack; 스택에는 보관하는 동작을 Push라 부르고 꺼내는 동작을 P..

[디딤돌 자료구조와 알고리즘] 5.4 스택 (STACK)

5.4 스택(STACK) 스택은 큐와 달리 가장 최근에 보관한 자료를 먼저 꺼내는 후입선출(LIFO, Last In First Out)형태로 동작하는 자료구조입니다. 스택은 배열이나 연결리스트로 구현할 수 있어요.여기에서는 배열로 구현하는 것을 먼저 해 본 후에 미리 만든 연결리스트를 래핑하는 방법을 살펴보아요. 먼저 스택 구조체를 정의하세요.스택에는 저장소와 가장 최근에 보관한 위치를 멤버로 갖고 있어야 해요. #define STACK_SIZE 10typedef struct Stack //Stack 구조체 정의{ int buf[STACK_SIZE];//저장소 int top; //가장 최근에 보관한 인덱스}Stack; 스택에는 보관하는 동작을 Push라 부르고 꺼내는 동작을 Pop이라 불러요.void P..

[C#] 8.2 컬렉션 - 개요

8.2 컬렉션 개요 프로그래밍하다 보면 여러 개의 개체를 구조적으로 관리하는 것은 자주 발생합니다. C#에서는 요소 개체의 집합체인 컬렉션을 다양하게 제공하고 있으며 같은 인터페이스를 기반으로 구현 약속하여 하나의 컬렉션 사용법을 익히면 다른 컬렉션을 사용법을 익히기 쉽습니다. C#에서 제공되는 컬렉션에는 하나의 개체로 보관하는 컬렉션들과 키와 값을 쌍으로 보관하는 컬렉션들이 있습니다. 하나의 개체로 보관하는 컬렉션들은 IList 인터페이스를 기반이거나 ICollection 인터페이스를 기반으로 정의되어 있습니다. 그리고 키와 쌍으로 보관하는 컬렉션들은 IDictionary 인터페이스를 기반으로 정의되어 있습니다. 또한, IList와 IDictionary 인터페이스는 모두 ICollection 인터페이스..

[C# 동영상 강의] 16. 컬렉션

[C# 동영상 강의] 16. 컬렉션 다루는 내용컬렉션컬렉션 클래스 종류(Array, ArrayList,List,Hashtable,Dictionary,Queue,Stack 등) 대본 슬라이드 1이번 강의에서는 컬렉션에 대해서 살펴보기로 하겠습니다.슬라이드 2컬렉션 클래스는 데이터의 저장과 검색을 위해 특화된 클래스를 말합니다. 컬렉션 클래스에는 해쉬 테이블이나 스택, 사전, List 등이 있으며 대부분의 컬렉션 클래스는 공통적인 인터페이스를 구현을 함으로써 일관된 방법으로 사용할 수 있습니다. 또한, 제공되는 컬렉션 클래스를 기반으로 좀 더 특화된 컬렉션 클래스를 구현을 할 수 있게 하였으며 제네릭 컬렉션 클래스도 제공함으로써 값 형식을 저장할 때 발생하는 boxing과 unboxing과정에서의 오버헤드를..

반응형