您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 数据结构里如何进行单链表的数据插入和删除操作。

齐发国际登录

来源:网络整理     时间:2018/4/11 22:32:30     关键词:

关于网友提出的“ 数据结构里如何进行单链表的数据插入和删除操作。”问题疑问,本网通过在网上对“ 数据结构里如何进行单链表的数据插入和删除操作。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 数据结构里如何进行单链表的数据插入和删除操作。
描述:

数据结构里如何进行单链表的数据插入和删除操作。


解决方案1:

https://wenda.so.com/q/1504825974211170?src=140
希望帮到你

解决方案2:

// 单链表插入操作

int ListInsert(LinkList *&L,int i,ElemType e)
{
    int j=0;
    LinkList *p=L,*s;
    while (j<i-1 && p!=NULL) /*查找第i-1个结点*/
    {
        j++;
        p=p->next;
    }
    if (p==NULL)    /*未找到位序为i-1的结点*/
        return 0;
    else            /*找到位序为i-1的结点*p*/
    {
        s=(LinkList *)malloc(sizeof(LinkList));/*创建新结点*s*/
        s->data=e;
        s->next=p->next;                        /*将*s插入到*p之后*/
        p->next=s;
        return 1;
    }
}
// 单链表删除操作
int ListDelete(LinkList *&L,int i,ElemType &e)
{
    int j=0;
    LinkList *p=L,*q;
    while (j<i-1 && p!=NULL)    /*查找第i-1个结点*/
    {
        j++;
        p=p->next;
    }
    if (p==NULL)                /*未找到位序为i-1的结点*/
        return 0;
    else                        /*找到位序为i-1的结点*p*/
    {
        q=p->next;              /*q指向要删除的结点*/
        if (q==NULL) 
            return 0;  /*若不存在第i个结点,返回0*/
        p->next=q->next;        /*从单链表中删除*q结点*/
        free(q);                /*释放*q结点*/
        return 1;
    }
}还有其他方法可以去网上查询一下

解决方案3:

 

//   单链表插入操作
int ListInsert(LinkList *&L,int i,ElemType e)
{
    int j=0;
    LinkList *p=L,*s;
    while (j<i-1 && p!=NULL) /*查找第i-1个结点*/
    {
        j++;
        p=p->next;
    }
    if (p==NULL)    /*未找到位序为i-1的结点*/
        return 0;
    else            /*找到位序为i-1的结点*p*/
    {
        s=(LinkList *)malloc(sizeof(LinkList));/*创建新结点*s*/
        s->data=e;
        s->next=p->next;                        /*将*s插入到*p之后*/
        p->next=s;
        return 1;
    }
}
// 单链表删除操作
int ListDelete(LinkList *&L,int i,ElemType &e)
{
    int j=0;
    LinkList *p=L,*q;
    while (j<i-1 && p!=NULL)    /*查找第i-1个结点*/
    {
        j++;
        p=p->next;
    }
    if (p==NULL)                /*未找到位序为i-1的结点*/
        return 0;
    else                        /*找到位序为i-1的结点*p*/
    {
        q=p->next;              /*q指向要删除的结点*/
        if (q==NULL) 
            return 0;  /*若不存在第i个结点,返回0*/
        p->next=q->next;        /*从单链表中删除*q结点*/
        free(q);                /*释放*q结点*/
        return 1;
    }
}

解决方案4:

https://blog.csdn.net/catkint/article/details/50097405这里有


以上介绍了“ 数据结构里如何进行单链表的数据插入和删除操作。”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.machineofchina.com/itwd/4556590.html

相关图片

相关文章