자료구조 큐
god
질문 제목 :
자료구조 큐
코드 논리 오류질문 내용 :#includestdio.h
#includestdlib.h#includestring.htypedef struct node_elm* node;typedef struct queue_elm * queue;struct queue_elm {node head, tail; // 큐의head 노드와tail 노드int size; // 큐에저장된정수의개수};struct node_elm{int item;node next;};queue createqueue(){queue q;q = (queue) malloc (sizeof(queue) );q-head = null;q-tail = null;q-size = 0;return q;}node insertathead(node head,int item){//1 새로운node를하나만든다node new_node = (node)malloc(sizeof(struct node_elm));//2 node에두멤버값을지정해준다.new_node-item = item;new_node-next = head;//새로운헤드노드주소를리턴한다return new_node;}node deletefromtail(node head,int *item){if(head == null)return head;if(head-next == null){//리스트에노드가하나인경우*item = head-item;return null;}if(head-next != null ){//1. tail 노드를head노드부터찾아간다.node v = head,w;while(v-next != null){v = v-next;*item = v-item;w = head;while(w-next != v){w = w-next;w-next = v-next; // or w-next = null;return head;}}}}void enqueue(queue q ,int item){q-head = insertathead(q-head,item);if(q-size ==0)q-tail = q-head;q-size++;}int dequeue(queue q){int item;q-tail = deletefromtail(q-tail,&item);q-size--;return item;}void printqueue (queue q) {queue v = q;while( (v-head) != null){printf(%d -- ,(v-head)-item);(v-head) = (v-head)- next;}printf(null \n);}void main(){int item;queue q = createqueue();enqueue(q,11);printqueue(q);enqueue(q,5);printqueue(q);item = dequeue(q);printf(삭제된값: %d,item);printqueue(q);enqueue(q,99);printqueue(q);printf(삭제된값: %d,item);printqueue(q);printf(삭제된값: %d,item);printqueue(q);}아래 처럼 나오게 하고 싶은 데 뭐가 오류 인지 이상하게만 나오네요 ㅠㅠ도와주세요!11-null5-11-null삭제 된 값 115-null99-5null삭제된 값 599-null삭제 된 값 99