zoukankan      html  css  js  c++  java
  • 删除单链表中偶数节点

    题目意思就是:
    删除链表中第2个节点,第4个节点......,即删除所有第偶数个节点
    #include <stdio.h>
    #include
    <stdlib.h>

    #define LEN 8
    typedef
    struct node node_t;

    struct node{
    int val;
    node_t
    *next;
    };

    //delete even node
    void delete_even_node(node_t* head);

    int main()
    {
    node_t
    ** arr = (node_t**)malloc(sizeof(node_t*)*LEN);
    arr[
    0] = (node_t*)malloc(sizeof(node_t));
    arr[
    0]->val = 0;
    int i;
    for(i = 1; i < LEN; i++)
    {
    arr[i]
    = (node_t*)malloc(sizeof(node_t));
    arr[i]
    ->val = i;
    arr[i
    - 1]->next = arr[i];
    }
    arr[LEN
    - 1]->next = NULL;
    arr[LEN
    - 1]->val = 7;

    delete_even_node(arr[
    0]);

    while(arr[0] != NULL)
    {
    printf(
    "%d\n", arr[0]->val);
    arr[
    0] = arr[0]->next;
    }

    return 0;
    }

    void delete_even_node(node_t* head)
    {
    if(head != NULL)
    {
    //q is after p
    node_t* p = head;
    node_t
    * q = head->next;

    while(q != NULL)
    {
    p
    ->next = q->next;
    p
    = q->next;

    free(q);

    if(p != NULL)
    q
    = p->next;
    else
    q
    = NULL;
    }
    }
    }

  • 相关阅读:
    Linux运维相关命令
    Linux常用命令合集
    python爬虫
    Linux常见知识点
    mysql linux上安装使用
    非托管代码方面的问题
    有趣知识
    C# 模式匹配
    C# 泛型约束
    怎么查看自己电脑的IP地址?
  • 原文地址:https://www.cnblogs.com/null00/p/2065042.html
Copyright © 2011-2022 走看看