位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 鏈表結點的插入操作

提問人:劉團圓發(fā)布時間:2020-12-02

鏈表的插入操作就是根據(jù)一定條件將新產(chǎn)生的結點插入到已經(jīng)存在的鏈表中。

例如假設一個鏈表是有序的,現(xiàn)將數(shù)字11插入到鏈表中,使鏈表仍有序。鏈表結點的插入操作分為如下幾步:

    ①申請一個新結點,存放需要插入的數(shù)字。

    ②查找該結點應該存放的位置。從第一個結點開始查找新結點應該插入的位置,因為鏈表是有序存放的,所以可以用新結點的值依次和鏈表中的每個結點的數(shù)據(jù)域比較,如果新結點的值大,指針后移到下一個結點,繼續(xù)比較,直到找到一個結點的值比新結點的值小,那么該結點的前面就是新結點應插 入的位置。具體過程如圖所示。

    ③將新結點插入到指定的位置。

image.png

插入結點函數(shù)insert()程序代碼如下:

void insert(SLIST *h,int x)

{

    int i;

    SLIST  *p,*q,*t;

    p=h;

    q=(SLIST *)malloc(sizeof(SLIST)); 

    q->data ==x;


while(p!=NULL)

{

    if(x>p->data ) 

    {

        t=p;

        p=p->next;


    }

    else

        break;

}

q->next =p;

t->next =q;

}


繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部