真題2004 單鏈表插入新元素仍為有序表
阿新 • • 發佈:2018-12-18
題目:設有序表(遞增)以帶表頭結點的單鏈表儲存。請設計一個函式,實現在該表中插入一個新元素的操作。要求插入後仍為有序表。其結點結構如圖所示。
typedefstructLNode{ intdata; structLNode*next; }LNode,*LinkList; LinkListinsert(LinkList&L,int x) //在單鏈表l中插入結點X { LinkListnewdata,p; //定義兩個新結點 newdata=(LinkList* )malloc(sizeof(LNode)); //分配儲存空間 newdata->data=x; p=L->next; while(p){ //當p所指連結串列中結點存在時,迴圈操作 if(p->data>x){ //如果待插入小於工作指標p所指結點值 newdata->next=p; p=newdata; returnL; } p=p->next; } p=newdata; //如果待插入大於工作指標p所指結點值 newdata->next=NULL; returnL; }