본문 바로가기
728x90

분류 전체보기60

포인터와 연결리스트 포인터란 알기 쉽게 선언한 변수의 주소를 할당한 메모리이다. int x = 10; int* p; p = &i; 위의 식에서 x의 주소값을 p에 저장하고 p를 포인터변수라고 한다. 표현 자료형 동일한 표현 'a' char ch char *p, **p p char* &ch, *pp pp char** &p 앞서배운 배열도 사실 포인터의 개념이 들어간다. 배열에서 int A[5];라는 배열을 선언했을 때 A의 이름을 가진 주소값은 A[0]에 대치된다. 그리고 동일하게 사칙연산이 적용된다. #include using namespace std; int main(){ int arr[2][3] = {{11,12,13},{21,22,23}}; int* arrM[2] = {arr[0], arr[1]}; int** pp =.. 2022. 12. 18.
자료구조-큐 큐(Queue) : First-In First-Out(FIFO) 구조 ex) 매표소의 대기열과 같다 배열을 이용해서 큐를 만들기 위해서는 원형큐로 만들어야함 # CircularQueue.h #define MAX_QUEUE_SIZE 100 #include class CircularQueue { protected: int front; int rear; int data[MAX_QUEUE_SIZE]; public: CircularQueue() { front = rear = 0; } bool isEmpty() { return front == rear; } bool isFull() { return (rear+1) % MAX_QUEUE_SIZE == front; } void enqueue(int val){ if(is.. 2022. 12. 17.
자료구조 - 스택 스택(Stack) : LIFO(Last-In First-Out) 구조 스택의 용도ex) 함수호출, Undo 기능, 괄호검사, 계산기, 미로탐색 etc,, 스택의 구현) 배열 or linkedlist 사용 C++로 구현한 배열버전 Stack # ArrayStack.cpp #include "ArrayStack.h" int main() { ArrayStack stack; for(int i = 1; i 2022. 12. 17.
구조체와 클래스 C++ 에서의 구조체 # 첫번째 방법 typedef struct sTag { char m; } sType; # 두번째 방법 태그명을 바로 타입으로 인정 # 태그명을 생략할 시 1회성 구조체가 된다. struct sTag { char m; } C++에서의 객체는 상태와 행위를 가진다. 상태란? ex) 이름, 색상 등등 // 행위는? ex) 행동 이를 코드로 작성하면 상태는 구조체, 행위는 함수로 나타난다. 예시 # Complex.h #pragma once #include class Complex { # 상태 double real; double imag; public: # 행위 void set ( double r, double i ){ real = r; imag = i; } void read ( char* .. 2022. 12. 17.
728x90