기본 콘텐츠로 건너뛰기

6월, 2018의 게시물 표시

treeSearch 트리라고 들어는 봤냐~~~~~~~~~

#include <stdio.h>//writer 5396952 이현민 #include <stdlib.h> #include <memory.h> #define MAX_QUEUE_SIZE 100 typedef struct treeNode{ int data; struct treeNode *left; struct treeNode *right; } treeNode; //the names are up to the order when it checks current node's data typedef treeNode *element; typedef struct { element queue[MAX_QUEUE_SIZE]; int front; int rear; }queueType; void error(char *message){ fprintf(stderr,"%s\n", message); exit(1); } void init(queueType *q) { q->front = q->rear = 0; } int isEmpty(queueType *q) { return (q->front == q->rear); } int isFull(queueType *q) { return ( (q->rear+1) % (MAX_QUEUE_SIZE) == q->front); //checking if front is ascended rear = means rear arrived to unused queue cell, full } void enqueue(queueType *q ,element item) { if(isFull(q)) { error("Queue is full\n"); } q->rear = (q->rear+1) % MAX_QUEUE_SIZE;//simply it means

LinkedQue 이런걸 보고 링크드 큐라고 한다~~이기야~~~~

#include <stdio.h> // writter 5396952 이현민 #include <stdlib.h> #include <malloc.h> typedef int element; typedef struct QueueNode{ element item; struct QueueNode *link; } QueueNode; //queue ADT realization typedef struct { QueueNode *front; QueueNode *rear; //pointer valuable which points each queueNode }QueueType; void error(char *message) { fprintf(stderr ,"%s\n", message); exit(1); } void init(QueueType *q) { q->front = q->rear = NULL; } int isEmpty(QueueType *q)//isEmpty { return (q->front == NULL); //if the front is pointing NULL, the queue is empty //at the same time, it returns current front index } void enqueue(QueueType *q, element item) { //memory allocation to new node QueueNode *temp = (QueueNode *)malloc(sizeof(QueueNode)); if(temp == NULL) { error("Memory allocation error\n"); exit(1); } temp->item = item; if(isEmpty(q))//if the queue is empty {

Deque 이런걸 보고 덱이라고 하는겁니다~~~~~~~

#include <stdio.h> //writer 5396952 Hyeonmin LEE #include <stdlib.h> #define TRUE 1 #define FALSE 0 typedef int element; typedef struct DlistNode{ element data; struct DlistNode *llink; struct DlistNode *rlink; } DlistNode; typedef struct DequeType{ DlistNode *head; DlistNode *tail; } DequeType; void error(char *message) { fprintf(stderr,"%s\n", message); exit(1); } void init(DequeType *dq){ dq->head = NULL; dq->tail = NULL; } DlistNode* createNode(DlistNode *llink, element item, DlistNode *rlink) { DlistNode *newNode = (DlistNode*)malloc(sizeof(DlistNode)); if(newNode == NULL) { error("Memory allocation error"); } newNode->llink = llink; newNode->rlink = rlink; newNode->data = item; return newNode; } int isEmpty(DequeType *dq) { if(dq->head == NULL) return TRUE; else return FALSE; } void addRear(DequeType *dq, element item) { DlistNode *newRear = createNode(dq-