IM使这个链接(上面的代码),我需要的是,当信息(国家)是一样的以前的信息链表只更新计数和信息不会存储例如链表打印
如果有此输入
mmm 1
mmm 2
mmm 3
输出将需要mmm3
我应该怎么做才能做到这一点
void insertitem(ListNode **startPtr,booking_type* bookings){
int ans=0;
ListNode *prevNode =NULL ,*curNode=*startPtr;
ListNode *newNode = (ListNode*)malloc(sizeof(ListNode));
strcpy(newNode->data, bookings->country); //newNode->data =bookings->country;
newNode->nextPtr = NULL;
newNode->count = 1;
while ((curNode!=NULL)&&(strcmp(curNode->data,bookings->country)<=0)) // future : use strcmp
{
if(strcmp(curNode->data,bookings->country)==0){
newNode->count++;
}
prevNode=curNode;
curNode = prevNode->nextPtr;
}
if(prevNode == NULL)
*startPtr=newNode;
else
prevNode->nextPtr = newNode;
newNode->nextPtr = curNode;
}
对不起,你必须解释你想要一点什么更好;这对我没有意义。 – trojanfoe 2012-04-26 10:38:13
你得到的错误输出是什么? – huon 2012-04-26 10:38:31
换句话说,我需要的是,当国家的信息与前一个存储在链表中的信息相同时,只有计数会被更新。 – user1312254 2012-04-26 10:40:42