小试牛刀,队列问题
											
程序代码:#include
#include 
typedef struct LQNode
{
    int data;
    struct LQNode* next;
}LQNode, *LinkedQNode;
typedef struct
{
    struct LQNode* front,* rear;
}LQueue, *LinkedQueue;
LinkedQueue LinkedQueueInit ()
{
    LinkedQueue Q;
    LQNode* p;
    Q = (LinkedQueue) malloc (sizeof(LQueue));
    p = (LQNode*) malloc (sizeof(LQNode));
    p->next = NULL;
    Q->front = Q->rear = p;
    return Q;
}
void LinkedQueueIn (LinkedQueue Q, int x)
{
    LQNode* p;
    p = (LQNode*) malloc (sizeof(LQNode));
    p->data = x;
    p->next = NULL;
    Q->rear->next = p;
    Q->rear = p;
}
int LinkedQueueOut (LinkedQueue Q)
{
    LQNode* p;
    int x;
    if (Q->front=Q->rear)
    {
        p = Q->front->next;
        Q->front->next = p->next;
        x = p->data;
        free (p);
        if (Q->front->next==NULL)
            Q->rear = Q->front;
        return x;
    }
}
void main ()
{
    LinkedQueue Q;
    Q = LinkedQueueInit ();
    LinkedQueueIn (Q, 10);
    printf ("%d\n", LinkedQueueOut(Q));
}										
					
	


											
	    

	