请在 下方输入 要搜索的题目:

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中偶数值的结点删除。链表结点定义如下:

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中偶数值的结点删除。链表结点定义如下:

发布时间:2025-05-28 13:08:33
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:

struct ListNode *createlist(){

    struct ListNode *head;

    struct ListNode *end;

    head = (struct ListNode*)malloc(sizeof(struct ListNode));

    head -> next = NULL;

    head -> data = NULL;

    end = head;

    int x;

    while(~scanf("%d",&x)){

        if(x == -1){

            break;

        }

        struct ListNode *t;

        t = (struct ListNode*)malloc(sizeof(struct ListNode));

        t -> data = x;

        t -> next = NULL;

        end -> next = t;

        end = t;

    }

    return head;

}

struct ListNode *deleteeven( struct ListNode *head ){

    struct ListNode *p;

    struct ListNode *q;

    p = head;

    q = head;

    while(p != NULL && p -> next != NULL){

        p = p -> next;

        if(p -> data % 2 == 0){

            q -> next = p -> next;

            free(p);

            p = q;

        }

        else{

            q = p;

        }

    }

    return head -> next;

}

专业技术学习
专业技术学习
搜搜题库系统