연결리스트로 짠 큐인데요..
그녀는귀여웠다
질문 : 연결리스트로 짠 큐인데요
입력부분에 문자를 입력하고 엔터를 누르면 계속 움직이는 창이 뜨는데
뭐가 오류인지를 모르겠어서 질문합니다.
소스는 아래에..
#include stdio.h
#include malloc.h
typedef struct queueNode {
int data;
struct queueNode *link;
} queueNode;
typedef struct queueType {
queueNode *front;
queueNode *rear;
int length;
} queueType;
queueType *queue_linked_init(void);
void queue_linked_input(queueType *queue);
void queue_linked_insert(queueType *queue, int item);
int queue_linked_empty(queueType *queue);
int queue_linked_delete(queueType *queue);
void queue_linked_display(queueType *queue);
void queue_linked_free(queueType *queue);
int main(void)
{
queueType *pQueue;
pQueue = queue_linked_init();
queue_linked_input(pQueue);
free(pQueue);
return 0;
}
queueType *queue_linked_init(void) {
queueType *queue = (queueType *)malloc(sizeof(queueType));
queue-front = NULL;
queue-rear = NULL;
queue-length = 0;
return queue;
}
void queue_linked_input(queueType *queue) {
int i = 0, menu, item, delVal;
do {
printf(\nLinked List Queue 1.Insert, 2.Delete, 3.Display, 4.Quit\n);
printf(Input the number : );
scanf(%d, &menu);
switch(menu) {
case 1 :
printf(Value for Insert ? );
scanf(%d, &item);
queue_linked_insert(queue, item);
break;
case 2 :
delVal = queue_linked_delete(queue);
if(delVal)
printf(Linked List Queue Delete Value is %d\n, delVal);
break;
case 3 :
queue_linked_display(queue);
break;
case 4 :
i = 1;
queue_linked_free(queue);
queue_linked_display(queue);
break;
default : break;
}
} while(i != 1);
}
void queue_linked_insert(queueType *queue, int item) {
queueNode *newNode = (queueNode *)malloc(sizeof(queueNode));
newNode-data = item;
newNode-link = NULL;
if(queue-length==0)
{
queue-front=queue-rear=newNode;
}
else
{
queue-rear-link = newNode;
queue-rear = newNode;
}
queue-length++;
}
int queue_linked_empty(queueType *queue)
{
if(queue-front == NULL) {
printf(Linked List Queue is Empty!!\n);
return 1;
} else return 0;
}
int queue_linked_delete(queueType *queue)
{
int item;
queueNode *delNode;
delNode = NULL;
if(queue-length == 0)
{
printf(아무것도 없거나 부족합니다. \n);
return NULL;
}
delNode = queue-front;
queue-front=queue-front-link;
queue-length--;
item = delNode-data;
free(delNode);
return item;
}
void queue_linked_display(queueType *queue)
{
queueNode *disNode = queue-front;
printf(Linked List = [);
while(disNode!= NULL)
{
printf(%d, disNode-data);
disNode = disNode-link;
printf(-);
}
}
void queue_linked_free(queueType *queue) {
queueNode *freeNode = NULL;
while(freeNode = queue-front) {
queue-front = queue-front-link;
free(freeNode);
}
}
-
아더
자료구조를 공부하는분이라면 어떤오류가 나는지 리스트추가와 삭제는 어떤식으로 했다던지 삭제는 이런식으로 했다 그리고 어떤 함수 동작은 제대로 동작하는지 확인했다 자료는 재대로 들어갔는데 추가하는부분에서 에러가 난다.. 등등 의 테스트기반의 설명이 없으면 저도 이런거 수백번 짜봤지만 다른사람소스 보기 꺼려집니다. 그런 설명조차 없다면.. 적어도 에러 메세지정도는 말해줘야죠
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700510 | c언어를 어케하면 잘할수 있을까요.. | 연연두 | 2025-07-05 |
2700484 | 두 개가 차이가 뭔지 알려주세요...(소수 찾는 프로그램) (2) | 날위해 | 2025-07-05 |
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |
2699842 | 질문을 너무 많이 하네여.....죄송.... (2) | 해님꽃 | 2025-06-29 |
2699816 | 오류 질문입니다.. (1) | 해비치 | 2025-06-29 |