Zijeak 2018-11-27 11:32 采纳率: 33.3%
浏览 364
已采纳

【数据结构】指针和链表问题,求大佬解答

图片说明

问题
图片说明

 #include <stdio.h>
#include <stdlib.h>

#define MAXSIZE 20

typedef int ElemType; 
typedef struct
{
    ElemType data;
    struct Node *next;
}Node,*LinkList;

int main()
{
    //建立单链表
    LinkList LA;
    LA=(LinkList)malloc(sizeof(Node));
    LA->next=NULL;
    Node *r,*s;
    int c;
    r=LA;
    int flag=1,count=0; 
    while(flag)
    {
        printf("Please input new node to the LinkList,node must be intatger,input q to quit:\n");
        scanf("%d",&c);
        if(c!='q')
        {
            s=(Node*)malloc(sizeof(Node));
            s->data=c;
            r->next=s;
            r=s;
            count++;
        }
        else
        {
            flag=0;
            r->next=NULL;
        }
    } 
    Deal(&LA,count);

    //打印新生成的表
    printf("New LinkList is:\n");
    r=LA->next;
    while(r->next!=NULL)
    {
        printf("%5d",r->data);
    } 
    return 0;
}

int Deal(LinkList *LA,int n)//n为单链表长度,n为偶数 
{
    LinkList LB,LC;
    LB=(LinkList)malloc(sizeof(Node));//建立头结点
    LB->next=NULL;//建立空的单链表LB
    LC=(LinkList)malloc(sizeof(Node));//建立头结点
    LC->next=NULL;//建立空的单链表LC
    Node *p,*q,*r,*s; 
    int i;
    p=LA->next->next;//令指针p指向序号为偶数的元素 
    q=LA->next;//令指针q指向序号为奇数的元素 
    r=LB;//令指针r指向LB 
    s=LC;//令指针s指向LC 


    //插入LB的第一个元素 
    LB->next=p;
    q->next=p->next;
    p=(p->next)->next;
    while(p->next!=NULL&&q->next!=NULL)
    {
        //先插表LB 
        //尾插法 (正序) 
        s->next=q;
        LA=q->next;
        q=q->next->next;
        s=s->next; 

        //头插法(逆序) 
        p->next=LB->next;
        LB->next=p; 
        p=p->next->next;
    }

    //合并LB/LC两表
    if(p->next==NULL)
    {
        p->next=LC->next;
        free(LC);
    }
    return 0;


}

  • 写回答

1条回答 默认 最新

  • 大苟姬 2018-11-27 13:25
    关注

    int Deal(LinkList LA,int n)
    输入不要
    吧。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突