본문 바로가기

자료구조

[이실직고 day 4] 배열기반 연결리스트 마무리 보호되어 있는 글입니다. 더보기
이실직고 day 3 배열리스트 EXPLANATION 설명 만들고자 하는 프로그램 : 배열에서 7을 찾아 삭제 후 리스트 조회 CODE 코드 1. 헤더파일 #ifndef __la_la_h__ #define __la_la_h__ #define FALSE 0 #define TRUE 1 #define len 10 //1. 기본 선언 typedef int Data; typedef struct _arrlist { Data arr[len]; int num; int cur; }arrlist; typedef arrlist list; // 2. 함수 선언 // 1) 함수 초기화 void init(list* plist); // 2) 함수 데이터 삽입 int insert(list* plist, Data data); // 3) 함수 조회 int lfirst.. 더보기
[이실직고 day 2] problem 3-1 1부터 9까지 입력해서 전부 다 합한 거 출력하고, 2의 배수나 3의 배수인 경우 삭제한다. 이후, 조회한다. 1. 헤더 파일 #pragma once #ifndef __ARRAY_LIST_H__ #define __ARRAY_LIST_H__ #define TRUE1 #define FALSE0 /*** ArrayList의 정의 ****/ #define LIST_LEN100 typedef int LData; typedef struct __ArrayList { LData arr[LIST_LEN]; int numOfData; int curPosition; } ArrayList; /*** ArrayList와 관련된 연산들 ****/ typedef ArrayList List; void ListInit(List * p.. 더보기
[ADT 2] 배열 기반 리스트로 보는 ADT 79p 윤T : 파일 내부 텍스트 구성을 신경쓰지 않듯, 자료구조의 요소 하나하나를 ADT에서 정의할 필요는 없다. ADT에서는 오히려 해당 자료구조를 어떤 방식으로 사용할지가 중심이 된다. 1. ADT의 정의 Abstract Data Type 추상 자료형으로, 선언한 자료형의 각 요소를 어떻게 활용하고 어떤 함수로 어떤 연산을 할지 함께 정의한다. 2. ADT 예시 '배열기반 순차리스트' 1) 리스트와 ADT의 관계 자료구조인 리스트를 어떤 함수로 어떤 연산기능하게 활용할 것인지 정리해놓은 것이 ADT이다. 2) 리스트의 종류 (1) 순차 리스트 인덱스로 값에 접근할 수 있는 배열기반 리스트이다. (2) 연결리스트 동적할당으로 생성한 노드를 연결하는 방식의, 일반적인 연결리스트이다. * 리스트가 무조건.. 더보기
[ADT] ADT 정의, 예시 1. ADT의 정의 Abstract Data Type 추상 자료형으로, 선언한 자료의 기능을 알려주는 명세서와 같은 역할을 한다. 이때, 자료형을 처음 선언하며 함께 연산의 종류를 결정하는 것도 자료형 정의에 포함된다. 2. ADT의 예시 '자판기' 1) 만들 프로그램 설명 자판기를 구현하기위해 data로 음료수의 번호를 받아 각 음료마다 책정된 가격을 동전과 지폐로 계산하는 프로그램 2) 자료형과 자료구조 typedef struct _vendor_machine{ int data; int coin; int bill; } vmachine; 가령, 위의 경우처럼 자판기 구조체를 만들어 멤버변수로 몇번 상품인지, 동전과 지폐가 각각 몇개인지 연산하는 기능이라고 자료형을 정의할 수 있다. 이때 vmachine은.. 더보기