weixin_52279601 2022-06-25 15:34 采纳率: 66.7%
浏览 89
已结题

大家可以看下这道删除单链表指定元素的问题吗

题目内容:

建立长度为n的单链表,n>0,删除单链表中等于给定值的元素。数据类型指定为整型。

输入格式:

第一行为链表长度n;

第二行为链表中的n个数据元素的值;

第三行为需要删除的元素值。

输出格式:

输出为删除后的链表中的所有数据元素的值。

输入样例:

4

45 12 34 8

34

输出样例:

45 12 8

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-06-25 16:20
    关注

    供参考:

    #include <stdio.h>
    #include <stdlib.h>
    typedef struct node_s {
        int data;
        struct node_s* next;
    } node_t;
    void create_List(node_t** L,int n)// N个结点链表生成
    {
        int i;
        node_t* pt = NULL, * pL = NULL;
        (*L) = (node_t*)malloc(sizeof(node_t));
        (*L)->next = NULL;
        pL = (*L);
        for (i = 0; i < n; i++) {
            pt = (node_t*)malloc(sizeof(node_t));
            pt->next = NULL;
            scanf("%d", &pt->data);
            pL->next = pt;
            pL = pt;
        }
    }
    void delete_x(node_t* L, int x)//刪除链表內值为 x 的结点
    {
        if (!L->next)  return;
        node_t* pL = L->next, * pre = L;
        while (pL) {
            if (pL->data == x) {
                pre->next = pL->next;
                free(pL);
                pL = pre;
            }
            else {
                pre = pL;
                pL = pL->next;
            }
        }
    }
    void print_List(node_t* L)//输出链表函数
    {
        node_t* pL = L;
        while (pL->next) {
             printf("%d ", pL->next->data);
             pL = pL->next;
        }
    }
    int main()
    {
        int N, x;
        node_t* List = NULL;
    
        scanf("%d", &N);
        create_List(&List, N);
    
        scanf("%d", &x);
        delete_x(List, x);
    
        print_List(List);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月3日
  • 已采纳回答 6月25日
  • 创建了问题 6月25日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看