2.0的代码还没改,哪天改好了发上来吧。。。
就是一个改sort函数的问题
int sort(pp, count)
struct postrec *pp;
{
int i, j, k;
for (i = 0; i <= count; i++)
{
//从top[0]开始判断
//这是版面名一样,但是re的id数比top[i]小,所以就直接break
if((!strcmp(pp->board, top[i].board) && !(pp->number > top[i].number)))
{
break;
}
else if (pp->number >top[i].number)
{
///同一个版面,如果re的人多,则覆盖
if (!strcmp(pp->board, top[i].board))
{
memcpy(&top[i], pp, sizeof(struct posttop));
break;
}
///不是同一个版面,re的人多的情况,将top[i]开始的top后移,插入当前的
else
{
if (count < TOPCOUNT - 1)
count++;
for (j = count - 1; j >= i; j--)
{
memcpy(&top[j + 1], &top[j], sizeof(struct posttop));
}
memcpy(&top[i], pp, sizeof(struct posttop));
//执行删除操作
///判断一下刚才后移的top里有没有和当前的是同一个版面的,有就删除
for (j = i+1; j <= count; j++)
{
if (!strcmp(pp->board, top[j].board))
{
for (k=j+1; k <= count; k++)
memcpy(&top[k-1], &top[k], sizeof(struct posttop));
count--;
}
}
break;
}
}
}
return count;
}
【 在 cnbird (阿七) 的大作中提到: 】
: ...我刚想说拿去用用的 ....
: 你这个也没看懂
--
FROM 222.18.13.*