배열

개요 배열을 이용하여 Queue 를 작성할 경우, 큐의 상태를 저장하는 변수의 값(head, tail)이 감소하지 않고 계속 증가하기 때문에 한계치(QUEUESIZE) 에 도달하면 더 이상 올바른 저장소를 가리키지 못하기 때문에 이를 보완할 수 있는 방법이 필요합니다.변수의 값이 최대치에 도달할 경우, 이를 초기값으로 돌려주는 방식으로 원형큐를 사용완가능합니다.※ 참고로 원형큐를 링버퍼라고도 합할 수 있습니다.다음은 이러한 아이디어를 C 언어로 구현한 것입니다. 구현 앞서 작성한 포스트의 배열로 구현한 (선형)큐의 소스코드를 기초로 합니다. // main.c #define QUEUESIZE 256 #include typedef struct { int head, tail; int items[QUEUESIZ..
출처 : HackerRank - Arrays Introduction 문제 요약 입력받은 정수 배열을 역순으로 출력하세요. 예시입력 4// 다음줄에 나올 정수의 갯수입니다. 1 4 3 2// 공백으로 구별된 정수를 제공합니다. 예시출력 2 3 4 1// 입력받은 역순으로 출력합니다. 풀이 C 와 달리 C++ 에서는 new 키워드를 사용하여 동적으로 배열을 선언하는 것이 가능합니다. (물론 C 에서도 malloc 함수를 사용하여 동적으로 메모리를 할당 할 수 있습니다) 때문에 첫줄의 입력값을 이용하여 정수 배열을 생성하고, 이에 반복문을 사용하여 입력값을 저장합니다. 다시 반복문을 역순으로 인덱싱하면서 돌아서 화면에 출력하면 요구사항을 만족하는 프로그램이 작성됩니다. #include #include #inc..
쓴웃음
'배열' 태그의 글 목록