수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

연결리스트로 짠 큐인데요..

그녀는귀여웠다

2023.04.01

질문 : 연결리스트로 짠 큐인데요
입력부분에 문자를 입력하고 엔터를 누르면 계속 움직이는 창이 뜨는데
뭐가 오류인지를 모르겠어서 질문합니다.
소스는 아래에..

#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);
}
}

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 아더

    자료구조를 공부하는분이라면 어떤오류가 나는지 리스트추가와 삭제는 어떤식으로 했다던지 삭제는 이런식으로 했다 그리고 어떤 함수 동작은 제대로 동작하는지 확인했다 자료는 재대로 들어갔는데 추가하는부분에서 에러가 난다.. 등등 의 테스트기반의 설명이 없으면 저도 이런거 수백번 짜봤지만 다른사람소스 보기 꺼려집니다. 그런 설명조차 없다면.. 적어도 에러 메세지정도는 말해줘야죠

번호 제 목 글쓴이 날짜
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
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com