목록C언어 (16)
W 개발 일지
연결 큐 1차원 배열을 이용하기 때문에 크기가 정해져 있는 원형 큐의 문제점을 보완해 나온 것이 연결 리스트를 이용한 연결 큐. 원형 큐에 대한 설명은 아래 글로 👇🏻 https://tildacoderecorder.tistory.com/102 [ 자료구조 ] enQueue()와 deQueue() 함수를 이용한 원형큐 큐의 개념과 구조 큐 : 스택과 다르게 "선입선출"의 구조를 가지고 있다. 먼저 들어간 것이 먼저 나오는 구조. FIFO = First In First Out 순차큐의 문제점을 보완해 나온 것이 원형큐 = 1차원 배열을 사 tildacoderecorder.tistory.com 큐의 원소는 연결 리스트의 노드이고, 각 노드를 포인터로 연결한다. front = 첫 번째 노드를 가리키는 포인터 변..
스택에 대한 설명 👇🏻 https://tildacoderecorder.tistory.com/101 [자료구조] push( ) 와 pop( ) 함수를 이용한 스택 스택의 개념과 구조 : 스택은 마지막에 삽입한 원소는 맨 위에 쌓여 있다가 가장 먼저 삭제 됨 / 후입선출 구조 ( LIFO, Last-In-First-Out ) 스택에서의 삽입 연산 : push 스택에서의 삭제 연산 : pop 기본 tildacoderecorder.tistory.com 큐의 개념과 구조 큐 : 스택과 다르게 "선입선출"의 구조를 가지고 있다. 먼저 들어간 것이 먼저 나오는 구조. FIFO = First In First Out 순차큐의 문제점을 보완해 나온 것이 원형큐 = 1차원 배열을 사용하면서 논리적으로 처음과 끝이 원처럼 연..
스택의 개념과 구조 : 스택은 마지막에 삽입한 원소는 맨 위에 쌓여 있다가 가장 먼저 삭제 됨 / 후입선출 구조 ( LIFO, Last-In-First-Out ) 스택에서의 삽입 연산 : push 스택에서의 삭제 연산 : pop 기본 설정 #include #define STACK_SIZE 100 int S[STACK_SIZE]; int top=-1; cs 100 크기의 S라는 정수형 배열을 만든다. 변수 top은 삽입과 삭제가 일어나는 위치로 현재 스택의 가장 위에 있는 데이터 위치이다. 새로운 데이터가 들어오면 배열의 첫번째인 S[0]에 들어오기 때문에 top의 위치는 0으로 바뀌어야 한다. 그렇기에 top의 초기값은 -1이다. 스택의 push( ) 알고리즘 : 스택 S에서 top이 마지막 자료를 가리..
선형리스트에 데이터를 삽입, 삭제, 탐색하는 함수를 구현한 프로그램. 배열의 크기 100, 데이터의 갯수 n이 기본 설정이다. 입력받은 데이터를 크기별로 리스트에 넣을 것이다. 선형리스트는 말그대로 선으로 연결되어 있는 자료구조이다. 따라서 새로운 데이터를 삽입할 때에는 삽입할 위치의 원소를 뒤로, 그 뒤 원소를 또 뒤로 넘겨 한자리씩 이동시켜야 한다. 그렇게 해서 만든 빈 자리에 데이터를 삽입해야 한다. 삭제는 반대로 원소를 삭제하고 생긴 공백을 메우기 위해 뒤에 있던 원소들을 한자리씩 앞당겨야 한다. 전체 코드는 아래와 같음. //선형리스트 프로그램 #include #include #define MAX 100 //배열의 크기 int list[MAX] = { 0 }; int n = 0; //데이터의 갯..
연결리스트 만들기 "월" "화" "수" "목" "금" 등 요일을 데이터값으로 갖는 연결리스트를 만들어보자. typedef struct node { char data; struct node* next; } Node; Node* head = NULL; cs 먼저 구조체로 "노드"의 틀을 만든다. 노드에는 데이터가 들어갈 데이터 변수와 다음 노드를 가리킬 포인터 변수가 있어야 한다. 데이터 변수는 어떠한 자료형이어도 상관없다. typedef으로 구조체의 별칭을 Node로 정해둔다. 연결리스트의 맨 앞 노드는 head라 부르며 head는 첫번째 노드를 가리키고 있어야 한다. ( = 첫번째 노드의 주소를 가지고 있어야 함.) 위와 같이 head를 선언한 것을 그림으로 그리면 아래와 같다. head안에 데이터 값도..
이번에 임의의 숫자를 입력받아 그 수 만큼 While문을 이용하여 만들어 볼 삼각형의 모양은 이렇다. * ** *** **** ***** cs 사실 *별로 삼각형 찍기는 for문을 이용하는 것이 코드를 봤을 때도, 만들 때도 이해하기가 쉽다. 하지만 for문으로 만들 수 있는 것은 While문으로도 만들 수 있다. 먼저 완성된 코드는 아래와 같다. #include int main() { int i,j,k,num; scanf("%d",&num); while(i
* ** *** **** ***** cs 저번 글에서는 위와 같은 모양의 삼각형 만들기를 설명했었다. tildacoderecorder.tistory.com/1?category=918749 C언어 - While문 이용하여 * 별로 삼각형 만들기 만들고자 하는 삼각형의 모양은 임의의 숫자를 입력받아 그 숫자만큼의 크기의 삼각형을 만들어내는 것이다. 숫자가 5라면 아래와 같은 삼각형이 나와야 한다. * ** *** **** ***** 코드를 짜면 다음� tildacoderecorder.tistory.com 이번 글에서는 거꾸로 위에서 부터 아래로 별이 적어지는 삼각형을 만들 것이다. 다만 임의의 숫자를 입력받아 삼각형의 크기를 정할 것이다. ***** **** *** ** * cs 이 삼각형은 5를 입력받아 ..