안녕하세요, 이번엔 자료구조의 아주 기본인 큐를 배워보도록 하겠습니다. 큐(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언어 알고리즘의 기초인 버블정렬(bubble sort)를 C로 구현하겠습니다. 정렬에는 삽입정렬, 버블정렬, 선택정렬 등 여러가지 방법이 있습니다. 그 중 버블정렬이란, 배열 내의 처음부터 인접한 두 데이터를 비교하며 값이 큰 데이터를 뒤로 바꾸면서 배열의 끝까지 반복하여 정렬하는 법입니다. 여러 정렬법중에 코드는 가장 간단하지만 시간이 가장 오래걸린다는 단점이 있습니다. 이를 C로 구현해보았습니다. 123456789101112131415161718192021222324#include int main(){ int arr[5]={10, 3, 15, 12, 1}; int temp; //swap을 위해 선언 for(int i=0;i
- Total
- Today
- Yesterday