목록c (24)
without haste but without rest
#include #include #include typedef struct ListNode {// 노드 타입 char name;// 승객명 int arrive_time;// 도착시간 int company;// 동승인원 struct ListNode* link; } ListNode; typedef struct ListType {// 리스트 헤더 타입 int size;// 현재 리스트의 노드 개수 int num_aboard;// 현재 리스트의 전체 인원 char name[10];// 리스트(그룹)의 이름 ListNode* head; ListNode* tail; struct ListType* link; } ListType; void error(char* message); ListType* create(char*..
/* title - 교재 뱅킹 시뮬레이션 코드 수정 원형큐를 이용하여 뱅킹 업무처리 시스템 구현 */ #include #include #include #define MAX_QUEUE_SIZE 20 // ================ 원형큐 정의부 시작 ================= typedef struct { // 요소 타입 int id; int arrival_time; int service_time; } element;// 교체! // ================ 원형큐 정의부 종료 ================= // ===== 원형큐 코드 시작 ====== typedef struct { // 큐 타입 element data[MAX_QUEUE_SIZE]; int front, rear; } Que..
# include # include // 프로그램 5.2에서 다음과 같은 부분을 복사한다. // ================ 원형큐 정의부 시작 ================= typedef struct { // 요소 타입 int id; int arrival_time; int service_time; int start_time; } element;// 교체! // ================ 원형큐 정의부 종료 ================= // ===== 원형큐 코드 시작 ====== #define MAX_QUEUE_SIZE 30 typedef struct { // 큐 타입 element data[MAX_QUEUE_SIZE]; int front, rear; } QueueType; // 오류 함수 ..
#include #include #define MAX_SIZE 5 #define ADD_F 1 #define ADD_R 2 #define REMOVE_F 3 #define REMOVE_R 4 typedef int element; typedef struct { element queue[MAX_SIZE]; int front, rear; } QueueType; void init_queue(QueueType* q){ q->front = q->rear = 0; } void error(char* msg) { fprintf(stderr, "%s\n", msg); exit(1); } int is_empty(QueueType* q) { return q->front == q->rear; } int is_full(Queue..
#include #include #include #define MAX_SIZE 5 /* 원형 큐 q->rear = (q->rear + 1) % MAX_SIZE; 전체 길이로 나눠서 앞에 빈 공백을 다시 재활용 따라서 is_full() 함수에 추가적인 작업이 필요함 */ typedef int element; typedef struct { element queue[MAX_SIZE]; int front, rear; } QueueType; void error(char* msg) { fprintf(stderr, "%s\n", msg); // remind this point exit(1); } void init_Queue(QueueType* q) { q->front = q->rear = 0; } int is_emp..
#include srand(time(NULL)) srand(time(NULL)) 해당 함수를 사용해야 랜덤 난수 생성이 가능해진다. 없으면 난수 생성이 아닌, 매번 같은 수를 생성한다. 즉 위 코드가 없으면 rand() 함수를 써도 계속 같은 수가 생성된다. https://stackoverflow.com/questions/52801380/srandtimenull-function srand(time(NULL)) function #include #include int main( void){ int x = rand()%100; printf("%d\n", x); return 0; } The code above generates a random number correctly. Is this cor... stack..
후위 표기 계산 main (기본 코드) #include "stack.h" #include #include int eval(char* value) { int n = strlen(value); int v1, v2; char ch; stackType s; init_stack(&s); for (int i = 0; i < n; i++) { ch = value[i]; if (ch != '+' && ch != '-' && ch != '/' && ch != '*') { ch = ch - '0'; // atoi push(&s, ch); } else { v2 = pop(&s); v1 = pop(&s); switch (ch) { case '+': push(&s, v1 + v2); break; case '-': push(&s..
괄호 매칭 main #include "stack.h" #include #include int check_matching(const char* input) { int i, n = strlen(input); char ch, open_ch; stackType s; init_stack(&s); print_stack(&s, input); for (i = 0; i < n; i++) { ch = input[i]; switch (ch) { case '(': case '{': case '[': push(&s, ch); print_stack(&s, input + (i + 1)); // * input + (i + 1) 은 input[i] 이후의 문자를 모두 출력 break; case ')': case '}': case ']..