언어/c언어
queue (수정할것 아직 완성되지 않음)
파아랑새
2016. 2. 17. 17:31
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef int element;
typedef struct queue
{
struct queue* linked;
element data;
}queue, *queuePointer;
typedef struct node
{
queuePointer head;
queuePointer top;
int dataCnt;
}node, *nodePointer;
//---------------------- function ----------------------
void queue_setting(nodePointer); //------------------>[1]
void enqueue_function(nodePointer);//---------------->[2]
void queue_printf(nodePointer);//-------------------->[3]
//------------------------------------------------------
int main(void) {
nodePointer queue_start;
queue_setting(&queue_start);
return 0;
}
////////////////////////////////////////////////////////
void queue_setting(nodePointer queue)//-------------->[1]
{
queue->head = (queuePointer)malloc(sizeof(queue));
if (queue->head == NULL) {
printf("malloc fail!!\n");
return;//END
}
else//queue->head !=NULL
{
queue->dataCnt = 0;
queue->head->data = 0;
queue->head->linked = NULL;
queue->top = queue->head;
}
}
////////////////////////////////////////////////////////
void enqueue_function(nodePointer queue)//----------->[2]
{
queuePointer new_Node = NULL;
new_Node = (queuePointer)malloc(sizeof(queue));
if (new_Node == NULL) {
printf("malloc fail!!\n");
return;//END
}
else {
//new_Node != NULL
// -------- < data setting > ----------
new_Node->data = 0;
new_Node->linked = NULL;
queue->dataCnt += 1; //----------------> +1
printf("new_Node data input >>> ");
scanf_s("%d", &new_Node->data);
// ------------------------------------
queue->top->linked = new_Node;
queue->top = new_Node;
}
}
////////////////////////////////////////////////////////
void queue_printf(nodePointer queue) {//------------->[3]
int index;
queuePointer index_node = queue->head->linked;
if (queue->dataCnt == 0) {
printf("queue is empty!!!\n");
return;//END
}
else {//queue->dataCnt >=1
for (index = 0; index < queue->dataCnt; index++) {
printf("%d ", index_node->data);
index_node = index_node->linked;
} printf("\n");
}
}
#include <stdlib.h>
#include <string.h>
typedef int element;
typedef struct queue
{
struct queue* linked;
element data;
}queue, *queuePointer;
typedef struct node
{
queuePointer head;
queuePointer top;
int dataCnt;
}node, *nodePointer;
//---------------------- function ----------------------
void queue_setting(nodePointer); //------------------>[1]
void enqueue_function(nodePointer);//---------------->[2]
void queue_printf(nodePointer);//-------------------->[3]
//------------------------------------------------------
int main(void) {
nodePointer queue_start;
queue_setting(&queue_start);
return 0;
}
////////////////////////////////////////////////////////
void queue_setting(nodePointer queue)//-------------->[1]
{
queue->head = (queuePointer)malloc(sizeof(queue));
if (queue->head == NULL) {
printf("malloc fail!!\n");
return;//END
}
else//queue->head !=NULL
{
queue->dataCnt = 0;
queue->head->data = 0;
queue->head->linked = NULL;
queue->top = queue->head;
}
}
////////////////////////////////////////////////////////
void enqueue_function(nodePointer queue)//----------->[2]
{
queuePointer new_Node = NULL;
new_Node = (queuePointer)malloc(sizeof(queue));
if (new_Node == NULL) {
printf("malloc fail!!\n");
return;//END
}
else {
//new_Node != NULL
// -------- < data setting > ----------
new_Node->data = 0;
new_Node->linked = NULL;
queue->dataCnt += 1; //----------------> +1
printf("new_Node data input >>> ");
scanf_s("%d", &new_Node->data);
// ------------------------------------
queue->top->linked = new_Node;
queue->top = new_Node;
}
}
////////////////////////////////////////////////////////
void queue_printf(nodePointer queue) {//------------->[3]
int index;
queuePointer index_node = queue->head->linked;
if (queue->dataCnt == 0) {
printf("queue is empty!!!\n");
return;//END
}
else {//queue->dataCnt >=1
for (index = 0; index < queue->dataCnt; index++) {
printf("%d ", index_node->data);
index_node = index_node->linked;
} printf("\n");
}
}