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. 如何将一个无符号字符数组保存到MySQL
- 2. 如何在C中创建一个字符串数组?
- 3. 如何在C中创建一个字符串数组?
- 4. 如何在matlab中创建一个字符串数组?
- 5. 如何在Java中创建一个字符串向量数组?
- 6. 如何在C++中创建一个字符串数组?
- 7. 如何用Qt创建项目符号或编号列表?
- 8. 8位无符号字符数组到无符号字符
- 9. 无符号字符数组到宽字符数组/字符串
- 10. 试图从字符串数组中创建一个字符串
- 11. 创建一个字符数组malloc
- 12. 从字符串创建一个数组
- 13. 如何在C#中编组数据类型无符号字符**?
- 14. 如何从一个字符数组创建一个CString?
- 15. 如何在无符号数组中组合字符和数字char
- 16. 如何从字符串数组中创建一个字符串C
- 17. 如何用C中的char数组创建一个字符串?
- 18. 从字符串列表中创建一个numpy结构数组
- 19. 如何在python中创建一个字符串字符串
- 20. 如何从一串逗号分隔值创建一个json数组字符串?
- 21. 从字符串中创建一个数组,然后在字符串中逐个创建一个
- 22. 如何在Qt队列中创建多个线程?
- 23. 如何从PHP创建一个JSON字符串数组数据
- 24. C++字符数组复制到无符号字符数组
- 25. 如何在一行中创建字符串数组?
- 26. 如何在lua中创建一个字符串字典函数?
- 27. QT转换16位QImage为8位无符号字符在QT
- 28. 将无符号字符(数组)转换为无符号整数(数组)
- 29. 如何在Clojure中创建一个字符串列表?
- 30. 如何在C中创建一个字符串的md5散列?
你想自己构建队列,还是想使用Qt API进行排队? – 2012-03-13 06:46:41
我喜欢使用Qt API – indira 2012-03-13 07:21:01