1
A
回答
3
如果您想使用Qt的API,那麼你可以使用QQueue類 -
QQueue<unsigned char> queue;
queue.enqueue(65);
queue.enqueue(66);
queue.enqueue(67);
while (!queue.isEmpty())
cout << queue.dequeue() << endl;
如果你想建立你自己的隊列中,那麼我想你可以聲明一個Queue
類這樣的 -
class Queue
{
private:
enum{SIZE=1024, EMPTY=0};
unsigned char buffer[SIZE];
int readHead, writeHead;
public:
Queue()
{
readHead = writeHead = EMPTY;
}
void push(unsigned char data);
unsigned char pop();
unsigned char peek();
bool isEmpty();
};
void Queue::push(unsigned char data)
{
if((readHead - writeHead) >= SIZE)
{
// You should handle Queue overflow the way you want here.
return;
}
buffer[writeHead++ % SIZE] = data;
}
unsigned char Queue::pop()
{
unsigned char item = peek();
readHead++;
return item;
}
unsigned char Queue::peek()
{
if(isEmpty())
{
// You should handle Queue underflow the way you want here.
return;
}
return buffer[readHead % SIZE];
}
bool Queue::isEmpty()
{
return (readHead == writeHead);
}
如果你想保持unsigned char
陣列的隊列,那麼你將不得不保持隊列個指針 -
QQueue<unsigned char *> queue;
unsigned char *array1 = new unsigned char[10]; // array of 10 items
array1[0] = 65;
array1[1] = 66;
queue.enqueue(array1);
unsigned char *array2 = new unsigned char[20]; // an array of 20 items
queue.enqueue(array2);
unsigned char *arr = queue.dequeue();
qDebug() << arr[0] << ", " << arr[1];
注:你這個隊列結束,你應該照顧的內存清理。恕我直言,你最好避免這種類型的設計。
相關問題
- 1. 如何創建一個隊列數組?
- 2. C++ - 複製無符號字符*到一個新的無符號字符*數組
- 3. 如何將一個無符號字符數組保存到MySQL
- 4. 如何在C++中創建一個字符串數組?
- 5. 如何在php中創建一個字符串數組?
- 6. 如何在C中創建一個字符串數組?
- 7. 如何在Java中創建一個字符串向量數組?
- 8. 如何在C中創建一個字符串數組?
- 9. 如何在matlab中創建一個字符串數組?
- 10. C隊列字符數組
- 11. 如何在PHP中創建一個字符串數組的字符串?
- 12. 如何用Qt創建項目符號或編號列表?
- 13. 8位無符號字符數組到無符號字符
- 14. 無符號字符數組到寬字符數組/字符串
- 15. 試圖從字符串數組中創建一個字符串
- 16. C++中的字符串創建一個字符串數組
- 17. 處理:在字符串內創建一個字符數組
- 18. 創建一個Java字符串數組
- 19. 創建一個字符數組malloc
- 20. 從字符串創建一個數組
- 21. 如何在C#中編組數據類型無符號字符**?
- 22. 如何從一個字符數組創建一個CString?
- 23. 如何在無符號數組中組合字符和數字char
- 24. 無符號乘法創建一個x2大小的數組
- 25. 如何在Javascript中創建一個字母數字序列號?
- 26. 重寫一個無符號的字符數組到一個無符號的長數組
- 27. 如何用C中的char數組創建一個字符串?
- 28. 如何創建一個[字符串:AnyObject]數組中swift2
- 29. 如何從字符串數組中創建一個字符串C
- 30. 如何在python中創建一個字符串字符串
你想自己構建隊列,還是想使用Qt API進行排隊? – 2012-03-13 06:46:41
我喜歡使用Qt API – indira 2012-03-13 07:21:01