연결리스트를 이용한 큐...도저히 감이 안옵니다;;
매디
질문 내용 :data.txt파일에는 10명의 이름 나이 자녀수가입력되있구요,
이걸 구조체로 입력받고, 큐에 임시저장 후 차례로 출력을 해야되는데요,,
여기까지는 나름 짜봤는데,, 큐에 저장하는 put()함수를 감히 손도 못대겠더라구요;;
그리고,, 파일에서 입력받을때 자료형이 다른 한줄 전체를 입력 받는 방법이 있나요?
꼭 저렇게 하나하나 입력받을 필요는 없을거 같다는 생각이 드네요,,,
큐에 저장하는 부분만 살짝,, 힌트만 주시면 감사하겠습니다,
절대 뭐 코딩을 해달라,,이런게 아니라, 그냥 대강의 형식(?)같은 걸 알려달라는,, 말입니다;;
#include stdio.h
#include stdlib.h
#define size (node *)malloc(sizeof(node))
typedef struct
{
int child;
int age;
char name[10];
}element;
typedef struct node
{
element data; /* 위의 구조체를 데이터로 사용 */
struct node* link;
}node;
node *front, *rear;
void initqueue()
{
front = size;
rear = size;
front-link = rear;
}
void main()
{
element a;
file *fp;
if((fp=fopen(data.txt, r))==null)
{
printf(파일이 열리지 않습니다.\n);
}
fscanf(fp,%s %d %d,a.name, &a.age, &a.child);
fclose(fp);
}
-
아서
MAX라는게 어떤의미인지요,, 연결리스트를 이용한 큐에서도 MAX가 존재하나요??
-
아픔이보여
FIFO 먼저 들어간 녀석을 먼저 출력해주는 것.... 최대 MAX 큐를 잡고 max큐 즉 큐가 가득찼는지 안했는지 로직(함수)를 하나 만드시고 MAX큐가 아직 안되었다면 해당 큐에 값을 더해주고 포인터를 넘겨주면 되겠지요... 참고로 큐는 저장되는 데이터부분과 주소를 가지는 포인터부분, 해당 큐가 어느번째 큐인지를 알려주는 변수 정도를 선언해서 사용하면 됩니다... head와 tail로 구분을 하시면 쉽게 이해하리라 생각됩니다....