안녕하세요, 이번엔 자료구조의 아주 기본인 큐를 배워보도록 하겠습니다. 큐(Queue)란 사전적 의미로 줄, 대기행렬, 꼬리 등의 의미가 있는데요, 놀이공원 같은 곳에서 먼저 줄을 서면 먼저 입장하게 되는데 큐는 이러한 방식입니다. 지난번에 배운 스택과 어떤 차이점이 있을까요? 리스트의 한쪽 끝에서만 삽입과 삭제가 일어나기 때문에 최근에 넣은 데이터가 먼저 나오는 스택(LIFO 방식)과 달리 큐는 먼저 넣은 데이터가 먼저 나오는 FIFO(First In First Out) 방식으로, 리스트의 한쪽에서는 삽입, 다른 한쪽에서는 삭제가 가능한 구조입니다. 스택과의 매우 큰 차이를 아시겠나요? 그림으로 보면 다음과 같습니다. 위 그림처럼 한쪽(front)에서는 삭제가 가능하고, 다른 한쪽(rear)에서는 삽입..
안녕하세요 오늘은 삽입정렬을 C언어로 구현해보겠습니다. 삽입정렬이란 기존의 배열의 모든 값을 앞부터 정렬된 배열과 비교하여 들어갈 위치를 찾고, 그 위치에 삽입하며 정렬해나가는 방법입니다. 바로 소스를 통해 알아보겠습니다. 1234567891011121314151617181920#include int main(){ int arr[5]={5, 16, 1, 4, 12}; int temp; for(int i=0;i arr[j+1])&&(j>=0)){ temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; j--; } } for(int i=0;i
안녕하세요 이번엔 다양한 정렬법중 선택정렬을 C언어로 구현해보겠습니다. 선택정렬이란, 배열내의 모든 항을 순차적으로 탐색하여 가장 작은 값을 제일 앞의 값과 바꿔가며 정렬하는 방법입니다. 선택정렬은 다른 정렬에 비해 비교적 구현이 쉽지만, 속도가 느린 단점이 있습니다. 다음은 소스코드입니다. 1234567891011121314151617181920212223#include int main(){ int arr[5]={13, 5, 6, 2, 9}; int min=100; int min_index,temp; for(int i=0;i
- Total
- Today
- Yesterday