我想在服务器端函数上实现队列:
我已经阅读了很多内容,但我不确定这个问题,链表,哈希表的最佳数据结构是什么?我没有这个领域的经验,我需要最有效算法的建议
谢谢
答案 0 :(得分:1)
对于高效的数据结构链表是最佳选择。例如链接列表中的udp数据结构
/* The UDP data packet structure */
struct udp_data
{
struct udp_data* u_next;
short id; /* id for this packet */
void * u_data; /* packet data */
//Add more field if you want
......................................
.........................................
};
typedef struct udp_data *UDP_DATA;
最重要的是你必须知道链表管理。
答案 1 :(得分:0)
据我所知,解决此类问题的最佳方法是使用标准头,远远地使用具有相同头长度的所有数据包然后获取头大小数据,从头知道数据包长度并从数据包中获取数据包长度数据游泳池,并重复相同。
希望能找到答案。例如
struct Common_header{
float ver;
int flag;
int msg_type;
int msg_len;
};
struct Req_Cim_Nim_Snr{
struct Common_header header;
char master[30];
char cpe[30];
};
struct Req_Cim_Nim_Fwr{
struct Common_header header;
char fwr_link[200];
};
在两个请求消息中我都有一个包含消息长度的struct头,所以我首先获取头部并获取msg_len长度的咬合数以获取整个消息。
关于数据结构,因为它的第一个出口链表很好。