已知 head 指向一个带头结点的单向链表,链表中每个结点包含整型数据域 ( data) 和指针域 (next) 。链表中各结点按数据域递增有序链接,以下函数删除链表中数据域值相同的结点,使之只保留一个 ( 去偶 ) 。请填空。 typedef im dataiype ; typedef struct node { datatype data ; struct node * next ; } linklist ; ... PURGE(linklist * head) { linklist * p , * q ; q=hcad–>next ; if (q= =NULL) return ; p=q–>next ; while(p!=NULL) if(p–>data= =q–>data) {( ) ; free(p) ; p=q–>next ; } else { q=p ; ( ) ; } }