반응형

C언어/C언어 예제 235

[C언어 소스] 원형 큐 - 모든 공간 사용

[C언어 소스] 원형 큐 - 모든 공간 사용언제나 휴일 티스토리 //원형 큐 - 모든 공간 사용, 정수 보관#include #define QUEUE_SIZE 10#define NEXT(index) ((index+1)%QUEUE_SIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의{ int buf[QUEUE_SIZE];//저장소 int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스 int count;//보관 개수}Queue; void InitQueue(Queue *queue);//큐 초기화int IsFull(Queue *queue); //큐가 꽉 찼는지 확인int IsEmpty(..

[C언어 소스] 원형 큐 - 버퍼 크기 고정

[C언어 소스] 원형 큐 - 버퍼 크기 고정언제나 휴일 티스토리 //원형 큐 - 버퍼 크기 고정, 정수 보관#include #define QUEUE_SIZE 10#define NEXT(index) ((index+1)%QUEUE_SIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의{ int buf[QUEUE_SIZE];//저장소 int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스}Queue; void InitQueue(Queue *queue);//큐 초기화int IsFull(Queue *queue); //큐가 꽉 찼는지 확인int IsEmpty(Queue *queue); //큐..

[C언어 소스] 스택 - 연견리스트로 구현

[C언어 소스] 스택 - 연견리스트로 구현 //스택 - 연결리스트로 구현#include #include typedef struct Node //노드 정의{ int data; struct Node *next;}Node; typedef struct Stack //Stack 구조체 정의{ Node *top; //맨 앞 노드(가장 최근에 생성한 노드)}Stack; void InitStack(Stack *stack);//스택 초기화int IsEmpty(Stack *stack); //스택이 비었는지 확인void Push(Stack *stack, int data); //스택에 보관int Pop(Stack *stack); //스택에서 꺼냄 int main(void){ int i; Stack stack; InitStac..

[C언어 소스] 스택 - 버퍼 크기 자동 확장 및 동적 생성한 자료 보관

[C언어 소스] 스택 - 버퍼 크기 자동 확장 및 동적 생성한 자료 보관언제나 휴일 티스토리 //스택 - 버퍼 크기 자동 확장, 동적 생성한 자료 보관 #include #include #include typedef void * Element; //void * 형식을 Element 형식 명으로 정의 typedef struct Stack //Stack 구조체 정의{ Element *buf;//저장소 int ssize;//저장소 크기 int top; //가장 최근에 보관한 인덱스}Stack; Stack *NewStack();//스택 생성자void DeleteStack(Stack *stack);//스택 소멸자int IsFull(Stack *stack); //스택이 꽉 찼는지 확인int IsEmpty(Stack ..

[C언어 소스] 스택 - 버퍼 크기 자동 확장

[C언어 소스] 스택 - 버퍼 크기 자동 확장언제나 휴일 티스토리 //스택 - 버퍼 크기 자동 확장 #include #include typedef struct Stack //Stack 구조체 정의{ int *buf;//저장소 int ssize;//저장소 크기 int top; //가장 최근에 보관한 인덱스}Stack; Stack *NewStack();//스택 생성자void DeleteStack(Stack *stack);//스택 소멸자int IsFull(Stack *stack); //스택이 꽉 찼는지 확인int IsEmpty(Stack *stack); //스택이 비었는지 확인void Push(Stack *stack, int data); //스택에 보관int Pop(Stack *stack); //스택에서 꺼냄..

[C언어 소스] 스택 - 동적 생성 및 소멸

[C언어 소스] 스택 - 동적 생성 및 소멸언제나 휴일 티스토리 // 스택 - 동적 생성, 소멸 #include #include typedef struct Stack //Stack 구조체 정의{ int *buf;//저장소 int ssize;//저장소 크기 int top; //가장 최근에 보관한 인덱스}Stack; Stack *NewStack(int ssize);//스택 생성자void DeleteStack(Stack *stack);//스택 소멸자int IsFull(Stack *stack); //스택이 꽉 찼는지 확인int IsEmpty(Stack *stack); //스택이 비었는지 확인void Push(Stack *stack, int data); //스택에 보관int Pop(Stack *stack); //..

[C언어 소스] 스택 - 버퍼를 동적 할당, 정수 형식 보관

[C언어 소스] 스택 - 버퍼를 동적 할당, 정수 형식 보관언제나 휴일 티스토리 //스택 - 버퍼를 동적 할당, 정수 형식 보관 #include #include typedef struct Stack //Stack 구조체 정의{ int *buf;//저장소 int ssize;//저장소 크기 int top; //가장 최근에 보관한 인덱스}Stack; void InitStack(Stack *stack, int ssize);//스택 초기화int IsFull(Stack *stack); //스택이 꽉 찼는지 확인int IsEmpty(Stack *stack); //스택이 비었는지 확인void Push(Stack *stack, int data); //스택에 보관int Pop(Stack *stack); //스택에서 꺼냄v..

[C언어 소스] 스택 - 고정 크기 버퍼, 정수 형식 보관

[C언어 소스] 스택 - 고정 크기 버퍼, 정수 형식 보관언제나 휴일 티스토리 //스택 - 고정 크기 버퍼, 정수 형식 보관#include #include #define STACK_SIZE 10typedef struct Stack //Stack 구조체 정의{ int buf[STACK_SIZE];//저장소 int top; //가장 최근에 보관한 인덱스}Stack; void InitStack(Stack *stack);//스택 초기화int IsFull(Stack *stack); //스택이 꽉 찼는지 확인int IsEmpty(Stack *stack); //스택이 비었는지 확인void Push(Stack *stack, int data); //스택에 보관int Pop(Stack *stack); //스택에서 꺼냄 i..

[C언어 소스] 원형 연결리스트로 러시안룰렛

[C언어 소스] 원형 연결리스트로 러시안룰렛언제나 휴일 티스토리 //원형 연결리스트로 러시안룰렛//주석을 살펴보세요.막코딩입니다.#include #include #include #include typedef struct _Node { int bullet;//총알(1:장전, 0:없음) struct _Node *next;}Node;void Game(); //게임 void MakeRoulette(Node **head, int n); //권총 약실이 n개인 러시안 룰렛 생성void ClearRoulette(Node **head); //러시안 룰렛 지우기int main(){ int key; srand((unsigned)time(0));//랜덤에 사용할 seed값 설정 while (1) { printf("=== 러..

[C언어 소스] 3X3 퍼즐 게임

[C언어 소스] 3X3 퍼즐 게임언제나 휴일 티스토리 //3X3 퍼즐 게임#include #include #include #define LEFT 75#define RIGHT 77#define UP 72#define DOWN 80int get_directionkey()//방향키를 입력받는 함수{ int key; key = _getch(); if (key == 224)//방향키 { return _getch(); //어떤 방향 키인지 반환 } return 0; //방향키가 아님}void print_puzzle(int puzzle[][3]){ int r, c; system("cls"); //콘솔 화면을 지우기 for (r = 0; r0) { puzzle[row][col] = puzzle[row][col - 1]..

반응형