C++(56)
-
precision, fixed
C++ cout으로 소숫점을 나타내기 위해서는 다음과 같다. #include using namespace std; int main() { float num = 123.456; cout.precision(3); // 맨 앞에서부터 3자리를 출력하라. cout
2022.04.25 -
연결리스트를 이용한 큐 구현
2022.04.23 - [C++/자료구조] - 큐(Queue) 연결리스트를 이용한 큐 구현 큐는 front 와 rear 양 쪽 값에 접근해야 하기 때문에 포인터 두 개를 만들어야 한다. 삽입 삭제에 대해 각각 별도에 포인터가 사용된다. 삽입 명령에 대해서는 rear 포인터가 가리키는 노드 바로 다음에 이어 붙이면 되고, 삭제 명령에 대해서는 front 포인터가 현재 가리키고 있는 노드 바로 다음 노드를 가리키게 하면 된다. 다음은 위의 내용을 코드로 구현한 것이다. #include using namespace std; typedef struct Node { int Data; //큐 데이터를 정수 타입으로 가정 Node *Next; //다음 노드를 가리키는 포인터 변수 }node; class Queue {..
2022.04.23 -
큐(Queue)
큐 특징: 선입선출(FIFO) 즉, 큐에서 삽입은 맨 뒤에서 삭제는 맨 앞에서 이루어진다. 큐의 맨 앞을 큐 Front 맨 뒤를 큐 Rear라 한다. 또한 큐 Rear에 데이터를 삽입하는 것을 큐 Add(Enqueue) 큐 Front에서 데이터를 삭제하는 작업을 큐 Remove(Dequeue)라 한다.
2022.04.23 -
스택 응용 5. 괄호 매칭
C/C++에서는 중괄호를 사용하여 소스 코드를 묶는다. 소스 코드에 여는 괄호가 두 번 나왔다면 닫는 괄호도 반드시 두 번 나와야 한다. 실제로 이러한 문법 검증 작업은 컴파일에 의해 이루어지며 이를 위해 컴파일러는 스택을 사용한다. 다음은 유사코드로 작성한 괄호의 매칭이다. Matched = TRUE; //매칭 상태를 표시하는 변수 초기화 while(index
2022.04.23 -
스택 응용 4. 문자열 뒤집기
주어진 문자열이 들어오는 대로 스택에 푸시했다고 가정하면 마지막 문자는 스택 탑에 위치하게 된다. 따라서 문자열을 역순으로 표시하려면 순차적으로 팝을 가하면 된다.
2022.04.23 -
스택 응용 3. 진법 변환
10진수 26을 2 진수로 변환한다고 해보자. 먼저, 26을 2로 나누었을때, 나머지인 0을 push 한다. 그 몫인 13을 다시 2로 나누고, 나머지인 1을 push한다. 다시 그 몫인 6을 2로 나누고 나머지인 0을 push한다. 다시 그 몫인 3을 2로 나누고 나머지인 1을 push한다. 그 후 더이산 나눠지지 않는 몫인 1을 push한다. 2022.04.22 - [C++/자료구조] - 연결 리스트를 이용한 스택 구현 #include using namespace std; typedef int element; //int형 자료형에 element라 별칭 붙임. typedef struct Node //노드는 구조체 타입 { element Data; //스택 데이터를 정수 타입으로 가정 Node *Next..
2022.04.23