Data Structure 12

리스트 구현 : 배열 (리스트 표현)

삽입 연산 (1) : 마지막 위치 insert_last(ArrayListType* list, int item) // 리스트 마지막 위치에 item을 삽입 { if !is_empty(*list) then list->array[list->size] size++; end if } insert_last(ArrayListType* list, pos, item) // 리스트 마지막 위치에 item을 삽입, 올바른 범위에 있는지 체크 { if !is_empty(*list) and pos >= 0 and pos array[i+1] array[i] REPEAT list->array[pos] size++ end if }​ 삭제 연산(1) : 임..

Data Structure/list 2020.05.27

리스트 ADT

객체 : n개의 element형으로 구성된 순서 있는 모양 연산: insert(list, post, item) ::= pos 위치에 요소를 추가한다. insert_last(list, item) ::= 맨끝에 요소를 추가한다. insert_first(list, item) ::= 맨 처음에 요소를 추가한다. delete(list, post) ::= pos 위치의 요소를 제거한다. clear(list) ::= 리스트의 모든 요소를 제거한다. get_entry(list, pos) ::= pos 위치의 요소를 반환한다. get_length(list) ::= 리스트의 길이를 구한다. is_empty(list) ::= 리스트가 비었는지를 검사한다. is_full(list) ::= 리스트가 꽉 찼는지를 검사한다. pr..

Data Structure/list 2020.05.27

stack 스택 후위식 평가

#include #include #define MAX_INDEX 100 // 상수 선언. typedef struct { //stack 구조체를 생성한다. int data[MAX_INDEX]; // MAX_INDEX 의 크기를 가진 멤버 data 배열을 선언한다. int top; // data 배열의 현재 인덱스를 나타내는 멤버 top 을 선언한다. }stack; int is_full(stack s) { //스택이 가득찼나 "검사" 하는 함수 return (s.top == MAX_INDEX - 1); // top 변수가 99일때 1을 반환한다.(true 반환) } int is_empty(stack s) { //스택이 비워졌나 검사하는 함수 return (s.top == -1); //top 변수가 -1일때 ..

스택 stack 괄호쌍 비교 응용

#include #include #define MAX_INDEX 100 // 상수 선언. typedef struct { //stack 구조체를 생성한다. int data[MAX_INDEX]; // MAX_INDEX 의 크기를 가진 멤버 data 배열을 선언한다. int top; // data 배열의 현재 인덱스를 나타내는 멤버 top 을 선언한다. }stack; int is_full(stack s) { //스택이 가득찼나 "검사" 하는 함수 return (s.top == MAX_INDEX - 1); // top 변수가 99일때 1을 반환한다.(true 반환) } int is_empty(stack s) { //스택이 비워졌나 검사하는 함수 return (s.top == -1); //top 변수가 -1일때 ..

stack 스택 회문

#include #include #define MAX_INDEX 100 // 상수 선언. typedef struct { //stack 구조체를 생성한다. int data[MAX_INDEX]; // MAX_INDEX 의 크기를 가진 멤버 data 배열을 선언한다. int top; // data 배열의 현재 인덱스를 나타내는 멤버 top 을 선언한다. }stack; int is_full(stack s) { //스택이 가득찼나 "검사" 하는 함수 return (s.top == MAX_INDEX - 1); // top 변수가 99일때 1을 반환한다.(true 반환) } int is_empty(stack s) { //스택이 비워졌나 검사하는 함수 return (s.top == -1); //top 변수가 -1일때 ..

stack 스택 괄호쌍이 맞는지 확인하는 프로그램

#include #include #define MAX_INDEX 100 // 상수 선언. typedef struct { //stack 구조체를 생성한다. int data[MAX_INDEX]; // MAX_INDEX 의 크기를 가진 멤버 data 배열을 선언한다. int top; // data 배열의 현재 인덱스를 나타내는 멤버 top 을 선언한다. }stack; int is_full(stack s) { //스택이 가득찼나 "검사" 하는 함수 return (s.top == MAX_INDEX - 1); // top 변수가 99일때 1을 반환한다.(true 반환) } int is_empty(stack s) { //스택이 비워졌나 검사하는 함수 return (s.top == -1); //top 변수가 -1일때 ..

stack 스택 이용한 문자 역순 출력

#include #include #define MAX_INDEX 100 // 상수 선언. typedef struct { //stack 구조체를 생성한다. int data[MAX_INDEX]; // MAX_INDEX 의 크기를 가진 멤버 data 배열을 선언한다. int top; // data 배열의 현재 인덱스를 나타내는 멤버 top 을 선언한다. }stack; int is_full(stack s) { //스택이 가득찼나 "검사" 하는 함수 return (s.top == MAX_INDEX - 1); // top 변수가 99일때 1을 반환한다.(true 반환) } int is_empty(stack s) { //스택이 비워졌나 검사하는 함수 return (s.top == -1); //top 변수가 -1일때 ..