91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

隊列的鏈式存儲結構

發布時間:2020-06-28 21:46:02 來源:網絡 閱讀:1166 作者:BarnabyRoss 欄目:編程語言

   由于線性存儲結構有順序存儲和鏈式存儲兩種,而隊列是一種特殊的線性結構,所以,隊列自然也會有鏈式存儲結構,這種存儲結構,稱之為“鏈隊列”。只不過,這種結構需要兩個指針,一個指針指向隊列的頭部,一個指針指向隊列的尾部。雖然隊列采用了鏈式存儲這種方式,但是它本質上仍然是隊列,因此,只要是隊列,就要遵循:只允許在隊列的頭部進行刪除操作,只允許在隊里的尾部進行插入操作。那么,先來定義個鏈隊列結構:

typedef int QElemType;

typedef struct QNode{

    QElemType data;
    struct QNode *next;
}QNode, *QueuePtr;

typedef struct{

    QueuePtr front, rear;
}LinkQueue;

   有了隊列這種結構后,就可以進行隊列元素的插入操作了。

Status EnQueue ( LinkQueue *Q, QElemType e ){

    QueuePtr s = ( QueuePtr ) malloc ( sizeof ( struct QNode ) );
    
    if ( !s )
        exit ( OVERFLOW );
        
    s->data = e;
    s->next = NULL;
    Q->rear->next = s;
    
    Q->rear = s;
    
    return OK;

}

   同樣的,元素的刪除操作。

Status DeQueue ( LinkQueue *Q, QElemType *e ){

    QueuePtr p;
    
    if ( Q->front == Q->rear )
        return ERROR;
        
    p = Q->front->next;
    *e = p->data;
    Q->front->next = p->next;
    
    if ( Q->rear == p )
        Q->rear = Q->front;
        
    free ( p );
    
    return OK;

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣城市| 定远县| 右玉县| 广南县| 寿宁县| 广德县| 徐汇区| 开鲁县| 边坝县| 南岸区| 密山市| 兰州市| 宁乡县| 台安县| 泌阳县| 通榆县| 武定县| 锦州市| 乐业县| 曲水县| 灵石县| 调兵山市| 保康县| 梁河县| 河东区| 镇平县| 天全县| 大荔县| 西畴县| 晴隆县| 溆浦县| 巢湖市| 穆棱市| 黄陵县| 临邑县| 彰武县| 江孜县| 洛阳市| 吉木萨尔县| 汉源县| 绥棱县|