전체 글22 [스택 코드] //알파벳 // Alphabet #include using namespace std; #define MAX_STACK_SIZE 20 inline void error(char* message) { cout = 0; i--) cout ch; for (char c = max+1; c < ch; c++) { // max부터 현재 입력 데이터 바로 이전 알파벳까지 push s.push(c); pm[index++] = '+'; // 추후 출력을 위해 '+'를 배열에 저장 } if (s.isEmpty() || ch != s.peek()) { // 현재 입력 데이터가 스택 top 데이터와 다른 경우 push if (s.isItem(ch)) { // 현재 입력 데이터가 이미 스택에 pop할 수 없는 위치에 있으면 NO .. 2023. 4. 15. [클래스 코드] //내 코드 #include using namespace std; class Rectangle { private: int width; int height; public: Rectangle(); Rectangle(int, int); int evalArea(int, int); int evalPerimeter(int, int); }; Rectangle::Rectangle(int w, int h) { width = w; height = h; } int Rectangle::evalArea(int width, int height) { int area = width * height; return area; } int Rectangle :: evalPerimeter(int width, int height) { int .. 2023. 4. 15. [Chap5] 연결 리스트 과제 문제 ) 교재에 있는 LinkedQueue를 Dequeue로 상속한다음, 앞에서추가하는 함수, 뒤에서 삭제하는 함수 를 추가하도록 고친다. 그리고, 앞에서 2번째 노드를 제거하고 1번째와 3번째 노드를 연결하는 메소드인 delete2nd를 추가한다. 이때, 3번째 노드가 없는 경우에는 NO를 출력한다. #include using namespace std; class Node { private: int data; Node* link; public: Node(int val = 0) : data(val),link(NULL) {} Node* getLink() { return link; } void setLink(Node* next) { link = next; } void display() { cout getLi.. 2023. 4. 6. [Chap5] 포인터와 연결리스트 [포인터에 대해 정리] 모든 포인터 변수의 크기는 동일하다 *는 어디에 붙여도 상관없다. (char* p 던지, char *p 던지) -> 그렇지만 첫번째가 좋다 ! 포인터 중 void포인터는 아무것도 가리키지 않는 포인터를 의미. -> 필요할 때 마다 다른 포인터로 바꾸어서 사용 포인터는 사용전에 반드시 초기화 할것 void* p; pi = (int*)p; -> p를 정수포인터로 변경해서 pi로 대입하는 것 배열과 포인터 배열 이름 = 배열의 시작부분 가리키는 포인터로 사용 객체와 포인터 전제) (클래스의 객체 s와 포인터변수 ps일 때, ) 's.i' == 'ps -> i' == '(*ps).i' 자체 참조 클래스 : 멤버 변수들 중에 동일한 클래스의 객체를 가리키는 포인터가 한 개 이상 존재하는 클.. 2023. 4. 5. 이전 1 2 3 4 5 6 다음