thewhitenight 2016-01-07 13:53 采纳率: 62.5%
浏览 1698
已采纳

单链表做线性表的存储

以带头结点的单链表做线性表的存储表示,编写算法删除表中的偶数序号结点,使(a1,a2,a3,a4,a5...)变成(a1,a3,a5...)

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-01-07 14:06
    关注
     #include<stdio.h>
    #include<malloc.h>
    
    typedef struct LNode {
        int data;
        struct LNode *next;
    }*LinkList;
    
    LinkList Creat_List(int n) {
        LinkList head,p,q;
        head = p = (LinkList)malloc(sizeof(LNode));
        for(int i = 1; i <= n; i++) {
            q = (LinkList)malloc(sizeof(LNode));
            q->data = i;
            p->next = q;
            p = q;
        }
        p->next = NULL;
        return head;
    }
    
    void Delete_evenLNode(LinkList head) { // 删除偶数位结点
        LinkList q,p = head;
        int i;
        for(i = 1; p->next; ++i) {
            if(i % 2 == 0) {
                q = p->next; 
                p->next = q->next;
                free(q);
            }
            else p = p->next;
        }
    }
    
    void Print_List(LinkList head) {
        LinkList p = head->next;
        while(p != NULL) {
            printf("%d ",p->data);
            p = p->next;
        }
        printf("\n");
    }
    
    void main () {
        LinkList head = Creat_List(16);
        Print_List(head);
        Delete_evenLNode(head);
        printf("删除偶数结点后 :\n");
        Print_List(head);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题