DayaW361 2022-12-23 18:00 采纳率: 81.3%
浏览 70
已结题

Others 给定一个带头结点的单链表,设L为头指针,结点的结构定义如下,试写一算法删除该链表中第i个结点。

Others
给定一个带头结点的单链表,设L为头指针,结点的结构定义如下,试写一算法删除该链表中第i个结点。(14分)

//单链表结点的结构

typedef struct LNode

{

 ElemType data;

 struct LNode *next;

} LinkList;

//删除单链表中第i个结点。

bool ListInsert(LinkList *&L,int i,ElemType &e)

{

//请在此处编写代码完成函数功能。

  • 写回答

1条回答 默认 最新

  • 会修bug的猫 2022-12-23 18:43
    关注
    
    bool ListInsert(LinkList*& L, int i, ElemType& e) {
        if (i<=0||L == NULL)    
            return false;
        LinkList* now = L;
        LinkList* last=L;
        while (i--&&now!=NULL) {
            last = now;
            now = now->next;
        }
        if (now==NULL)    //i大于链表长度
            return false;
        e = now->data;
        last->next = now->next;
        free(now);
        return true;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 请采纳用户回复 12月25日
  • 创建了问题 12月23日