閱讀以下說明和C語言函數(shù),將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
已知包含頭結(jié)點(不存儲元素)的單鏈表的元素已經(jīng)按照非遞減方式排序,函數(shù)compress(NODE *head)的功能是去掉其中重復(fù)的元素,使得鏈表中的元素互不相同。
處理過程中,當(dāng)元素重復(fù)出現(xiàn)時,保留元素第一次出現(xiàn)所在的結(jié)點。
圖4-1(a)、(b)是經(jīng)函數(shù)compress()處理前后的鏈表結(jié)構(gòu)示例圖。
鏈表的結(jié)點類型定義如下:
typedef struct Node {
int data;
struct Node *next;
}NODE;
【C語言函數(shù)】
void compress(NODE *head)
{ NODE *ptr,*q;
ptr = (1) ; /* 取得第一個元素結(jié)點的指針 */
while ( (2) && ptr -> next) {
q = ptr -> next;
while(q && (3) ) { /* 處理重復(fù)元素 */
(4) = q -> next;
free(q);
q = ptr -> next;
}
(5) = ptr -> next;
}/* end of while */
}/* end of compress */