C++ 整理结构图
我正在开发一个类似Twitter的应用程序。我想实现的功能之一就是打印你关注的用户的tweet。问题是这些tweet(我称之为“baa”s)必须根据ID(最大的ID必须显示在第一个,最小的ID必须显示在最后一个)排列有序。因此,问题是如何以有效的方式实现这一点 我将所有消息存储在一个以用户名作为主键的地图中。映射的每一行都是一个消息向量,其中消息是一个结构,其中包含Baa、时间(写入时间)和ID。消息结构的定义如下:C++ 整理结构图,c++,sorting,dictionary,struct,C++,Sorting,Dictionary,Struct,我正在开发一个类似Twitter的应用程序。我想实现的功能之一就是打印你关注的用户的tweet。问题是这些tweet(我称之为“baa”s)必须根据ID(最大的ID必须显示在第一个,最小的ID必须显示在最后一个)排列有序。因此,问题是如何以有效的方式实现这一点 我将所有消息存储在一个以用户名作为主键的地图中。映射的每一行都是一个消息向量,其中消息是一个结构,其中包含Baa、时间(写入时间)和ID。消息结构的定义如下: struct message{ static unsigned int
struct message{
static unsigned int last_id;
unsigned int id;
std::string baa;
std::string timestamp;
message(const std::string& recvbuf_baa,const std::string& a_timestamp) :
baa(recvbuf_baa), timestamp(a_timestamp), id(++last_id)
{
}
};
map<std::string,std::vector<message *> > data;
map<std::string,std::vector<string> > followers;
地图上的数据和追随者如下:
struct message{
static unsigned int last_id;
unsigned int id;
std::string baa;
std::string timestamp;
message(const std::string& recvbuf_baa,const std::string& a_timestamp) :
baa(recvbuf_baa), timestamp(a_timestamp), id(++last_id)
{
}
};
map<std::string,std::vector<message *> > data;
map<std::string,std::vector<string> > followers;
我可以用这种方式打印所有关注者的时间线,但是推文是按上升ID顺序(1,2,3…)排序的,而不是后代(…3,2,1)
我不知道如何以最有效的方式打印所有追随者的推文。也许有一种有效的方法可以根据ID按顺序访问消息结构,或者分配内存并存储(以ID为关键参数)您所遵循的用户的消息结构,等等
实现此功能的最佳方式是什么