一种可行的思路:最小最大策略。
//收到消息,更新leftVal和rightVal,存入缓存cache,并维护一个最小开始值minVal
cacheSize++;
leftVal=min(leftVal,message);
rightVal=max(rightVal,message);
if(minVal==leftVal && rightVal-leftVal+1==cacheSize){
//消息完整,打印消息
for(int i=leftVal;i<=rightVal;++i){
cout<< i << ',';
}
minVal=rightVal+1;
leftVal=INT_MAX;
right=INT_MIN;
cacheSize=0;
}