16:30 질문입니다.
343
작성한 질문수 57
안녕하세요
큐의 정의조건에는 "아이템이 한개또는 0개일때는 front와 rear포인터의 값이 같다" (전자는 해당 노드의 주소 후자는 Null) 가 있는데요
강의 16:30 bool DeQue 함수를 보면 교수님의 코드는
큐가 빌경우 front 와 rear의 값이 Null로 같아지는 경우는 구현했으나 원소가 하나일때 둘이 같아지게 하는 코드가 없는것같습니다.
아래는 조잡하지만 제가 구현한 코드인데요
bool DeQue(Item*item , Queue*pq)
{
if(pq->first==Null)
{ printf("empty₩n"); return false;}
Node*temp=pq->front->next;
*item=pq->front->item;
free(pq->front);
pq->front=head;
pq->size-=1;
if(pq->front==Null ll
pq->front->next==Null)
{ pq->rear=pq->front;}
return true;
}
마지막 if처럼 둘이서로 같게해주는 코드가 필요하다 보는데 어떻게 생각하시나요?
답변 4
1
안녕하세요.
좋은 말씀 감사드립니다.
말씀 하신대로 교수님의 EnQueue DeQueue 코드를 다시 확인하였으나 ,
EuQueue시에도DeQueue시에도
Queue의 nitems=1 , 즉 Queue의 item이 한개가될때 Queue의 rear 와 front의 값이 그 아이템노드의 주소로 같게해주는 (Queue의 정의조건중하나) 코드가 없는것으로 보입니다.
그래서 제가 만든 코드를첨부하였구요.
확인부탁드립니다. 감사합니다!
1
안녕하세요? 군생활 중에 열심이시군요. 박수를 보냅니다.
이 경우는 원소가 1개일때(혹은 그 이상도 마찬가지입니다.) Enqueue와 Dequeue를 순차적으로 실행했을 때 각각
head와 rear가 어디를 가리키게 되는지 고민해보시면 좋을 것 같습니다.
26년 1회 실기 해설 강의
0
32
2
주소 연산자(&) 간접 지정자(*) 반대 개념
0
22
1
53번 4-1 자료 오류 있는 것 같습니다.
0
60
2
7번문제
0
48
2
C언어 변형문제 9번문제 Pdf 수정요청
0
38
2
메서드 오버드라드
0
40
2
이진 탐색: 탐색 실패하는 경우 어째서 first > last인 경우가 나오나요?
0
324
1
17.12) access violation
0
307
1
finditembyindex 질문드립니다!
0
348
1
19:20 부분에서 질문있습니다.
0
278
1
pnode = pnode->next; 와 pnode->next = pnode;는 같은 것으로 생각해도 될까요?
0
401
2
질문. warning뜨는 이유
0
300
1
링크드 리스트 질문 드립니다.
0
216
1
함수포인터 질문드립니다
0
224
1
강의 내용 질문 드립니다!
0
369
2
노드 주소 순서 관련 질문
0
282
1
질문드립니다!
0
242
1
DeleteAllNodes 에서 질문있습니다.
0
374
5
scanf 질문이요!!
0
253
1
12:30 의 ArrayQueue.h
0
292
2
10:10 Add front에서 질문드립니다.
1
362
1
스택 자료구조
0
246
1
변수 count의 활용에 대해 질문이 있습니다.
0
319
1
1번 실행하면 에러가 뜨는데 이유를 모르겠습니다..
0
370
2





