C 資料結構 佇列

2021-08-19 02:12:12 字數 1755 閱讀 6441

佇列是一種特殊線性的資料結構,也是一種運算受限制的線性表,跟棧恰好相反運算規則先進先出。插入元素叫做入隊或者進隊,插入的一方叫做隊尾;刪除元素叫做出隊,刪除的一端叫做隊首

順序表佇列

class sqqueueclass

//非迴圈佇列

#region 判斷佇列是否為空

public bool queueempty()

#endregion

#region 進隊

public bool enqueue(string value)

rear++;

data[rear] = value;

return true;

}#endregion

#region 出隊

public bool dequeue(ref string value)

front++;

value = data[front];

return true;

}#endregion

}

迴圈佇列

class sqqueueclass

//迴圈佇列

#region 判斷佇列是否為空

public bool queueempty()

#endregion

#region 進隊

public bool enqueue(string value)

rear = (rear + 1) % maxsize;

data[rear] = value;

return true;

}#endregion

#region 出隊

public bool dequeue(ref string value)

front = (front + 1) % maxsize;

value = data[front];

return true;

}#endregion

}

鍊錶佇列

/// /// 鏈隊資料儲存

///

class linkdata

/// /// 鏈隊節點儲存

///

class linkqueue

/// /// 鏈隊操作

///

class linkqueueclass

#region 判斷佇列是否為空

public bool queueempty()

#endregion

#region 進隊

public void enqueue(string value)

else

}#endregion

#region 出隊

public bool dequeue(ref string value)

datas = queues.front;

if (queues.front==queues.rear)

else

value = datas.data;

//釋放空間

datas = null;

return true;

}#endregion

}

資料結構 c 佇列

佇列是先進先出 fifo 的線性表,元素從隊尾進從隊頭出,有的時候也是比較常用的,同樣分為順序儲存結構和鏈式儲存結構,其中順序儲存結構可以實現迴圈佇列。首先同樣先定義結構體,同樣佇列應包含有隊頭指標和隊尾指標,分別指向頭結點和隊尾結點,而指向的結點需有資料域和指向下個結點的指標域 include i...

C資料結構 佇列

leetcode102題,二叉樹的層次遍歷 leetcode199題,二叉樹的右檢視 佇列的思路如下 1 有head tail 2 入隊靠tail,出隊靠head 3 如果每輪需要出隊,那麼把tail head存下來,做乙個for迴圈!非常重要 define maxlen 1000 intenque...

C 資料結構 佇列

佇列作為線性表的另乙個資料結構,只允許在表的前端進行刪除操作,而在表的後端進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。先來看下用法 queue queue newqueue queue.enqueue 1 queue.enqueue 2 queue.enqueue 3 queue.enqu...