본문 바로가기

728x90
반응형

C언어

(3)
[C언어] C언어 정렬 알고리즘 ( 버블 정렬, 선택 정렬 ) 1. 버블 정렬 버블 정렬은 정렬 알고리즘 중 하나입니다. 시간 복잡도가 느리지만 코드가 단순하기 때문에 자주 쓰이는 알고리즘 중 하나입니다. 버블 알고리즘은 배열에서 2개의 수를 비교해 더 큰 수를 뒤에 위치하는 알고리즘입니다. A = [a, b, c, d, e] a>b -> A = [b, a, c, d, e] 이런식으로 계속해서 가까이 있는 두 수를 비교하며 정렬합니다. 이를 C언어로 구현해 보겠습니다. #include int main(){ int a[]={5,2,8,1,9,7},temp,n=6; for(int i = 0;i
[C언어] C언어로 스택 구현하기 스택은 후입선출 ( LIFO ) 의 특성을 가진 자료구조입니다. 즉, 가장 나중에 입력된 값이 가장 먼저 출력되는 특징을 가지고 있습니다. 스택의 예로는 쉽게 프링글스를 예로 들 수 있습니다. 프링글스에서 가장 나중에 쌓인 과자를 가장 먼저 먹게 됩니다. 주변에서 가장 쉽게 볼 수 있는 스택의 예시입니다. 스택을 C언어로 구현해 봅시다. 1. 함수 #include #define STACK_SIZE 3 int stack[STACK_SIZE]; int top = -1; int Full() { if(top>=STACK_SIZE-1) { printf("\n Stack is Full!\n"); return 0; } return 1; } int Empty() { if(top==-1) { printf("\n Stac..
[C언어] C언어로 원형큐 구현하기 큐는 선입선출의 자료구조형으로 가장 먼저 들어온 값이 가장 먼저 나갑니다. 선입선출은 표를 구매하는 것을 예시로 들 수 있습니다. 표를 구매할때는 가장 먼저 줄을 선 사람이 가장 먼저 표를 사서 나가는 구조입니다. 따라서 표 구매 또한 선입선출의 구조를 하고 있다고 할 수 있습니다. 위 사진처럼 큐는 양쪽의 두 끝 부분을 front와 rear로 지정해 front는 삭제를 rear는 삽입을 담당하고 있습니다. 큐에는 선형큐, 원형큐 등이 있습니다. 선형큐는 위 그림과 같은 모습을 하고 있습니다. 선형큐에는 큰 단점이 있는데, 선형큐에서 삽입 삭제를 반복하다보면 rear가 마지막 위치를 가르킬때 앞이 비어있어도 값을 입력할 수 없는 문제가 발생합니다. 때문에 선형큐의 문제점을 보완한 원형큐가 생깁니다. 원형..

728x90