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);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 Python安装cvxpy库出问题
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题