我有500帧,我已经将每帧的长度存储在一个数组中,因为帧是按升序排列的。
const char header_length = {23,34, 45, 12, 23,56,......,2,4};
此处帧1的长度为23个字节,帧2的长度为34个字节。 现在,当我被请求带有标题4的帧时,我将不得不用带有标题7的帧回复,带有标题8的帧将需要带有标题60的回复帧。该共同关系是常量,标题4帧将始终回复标题7帧。所以我需要一个查找表的实现。我打算使用多维数组来实现它。虽然有更好的方法来实现这个吗?
答案 0 :(得分:0)
我根据OP上面的评论回答,否则OP的问题没有任何意义。
假设最大帧大小受到相当小的N
的限制,那么最好只保留另一个数组,如下所示,
const char header_length[] = {23,34, 45, 12, 23,56,......,2,4};
const int to_be_replied[N+1] = {...,0,...,2,...,0,...,4,...}; /* fill remaining */
/* here are their positions @12 @23 @34 @45 */
并在回复期间使用以下内容。
int frame_num, reply_frame_num;
frame_num = get_frame_number(); /* some function */
reply_frame_num = to_be_replied[header_length[frame_num]];