?? queue.h
字號:
/*
請修改這些隊列函數,以適應循環鏈表
可考慮刪去 front 或 rear
除此之外,還可以考慮函數的返回值是否恰當
*/
typedef struct Node *PNode;
struct Node // 結點結構
{
DataType info;
PNode link;
};
struct LinkQueue // 鏈接隊列類型定義
{
PNode front; // 頭指針
PNode rear; // 尾指針
};
typedef struct LinkQueue *PLinkQueue;
//創建一個空隊列
PLinkQueue createEmptyQueue_link( )
{
PLinkQueue plqu;
plqu = (PLinkQueue )malloc(sizeof(struct LinkQueue));
if (plqu!=NULL)
{
plqu->front = NULL;
plqu->rear = NULL;
}
else
printf("Out of space!! \n");
return (plqu);
}
//判斷鏈接表示隊列是否為空隊列
int isEmptyQueue_link( PLinkQueue plqu )
{
return (plqu->front == NULL);
}
//進隊列
void enQueue_link( PLinkQueue plqu, DataType x)
{
PNode p;
p = (PNode )malloc( sizeof( struct Node ) );
if ( p == NULL )
printf("Out of space!");
else
{
p->info = x;
p->link = NULL;
if (plqu->front == NULL)
{
plqu->front = p;
plqu->rear = p;
}
else
{
plqu->rear->link = p;
plqu->rear = p;
}
}
}
//出隊列
void deQueue_link( PLinkQueue plqu )
{
PNode p;
if( plqu->front == NULL )
printf( "Empty queue.\n " );
else
{
p = plqu->front;
plqu->front = plqu->front->link;
free(p);
}
}
// 在非空隊列中求隊頭元素
DataType frontQueue_link( PLinkQueue plqu )
{
return (plqu->front->info);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -