首页 > 软件操作教程 > 编程开发 > C语言
题目内容

C语言 链表结点的插入操作

题目答案

链表的插入操作就是根据一定条件将新产生的结点插入到已经存在的链表中。

例如假设一个链表是有序的,现将数字11插入到链表中,使链表仍有序。链表结点的插入操作分为如下几步:

    ①申请一个新结点,存放需要插入的数字。

    ②查找该结点应该存放的位置。从第一个结点开始查找新结点应该插入的位置,因为链表是有序存放的,所以可以用新结点的值依次和链表中的每个结点的数据域比较,如果新结点的值大,指针后移到下一个结点,继续比较,直到找到一个结点的值比新结点的值小,那么该结点的前面就是新结点应插 入的位置。具体过程如图所示。

    ③将新结点插入到指定的位置。

image.png

插入结点函数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;

}


网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端