首页 > 其他分享 >38-11

38-11

时间:2023-10-06 19:55:37浏览次数:39  
标签:11 malloc 38 LNode next LinkList sizeof NULL

设C={a1,b1,a2,b2,.....,an,bn};使用带头结点的单链表,将C分割成A={a1,a2,a3,....,an};,B={bn,bn-1,....,b2,b1};

注意B是逆置,应采用头插法

对于abababab这种结点,可以使用count记录奇偶,也可以一个while循环中分别对A,B进行插入

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

typedef struct node{
    int data;
    struct node *next;
}LNode,*LinkList;

void TailCreate(LinkList &L)
{
    L=(LinkList)malloc(sizeof(LNode));
    L->next=NULL;
    LNode *p,*r=L;
    int x;
    scanf("%d",&x);
    while(x!=999)
    {
        p=(LNode*)malloc(sizeof(LNode));
        p->data=x;
        p->next=NULL;
        r->next=p;
        r=p;
        scanf("%d",&x);
    }
}

void displayList(LinkList L)
{
    LNode *p=L->next;
    while(p!=NULL)
    {
        printf("%d  ",p->data);
        p=p->next;
    }
}

void Split(LinkList &L)
{
    LNode *A=(LNode*)malloc(sizeof(LNode));
    LNode *B=(LNode*)malloc(sizeof(LNode));
    A->next=NULL;
    B->next=NULL;
    LNode *pa=A,*pb=B,*p=L->next,*r;
    while(p)
    {
        pa->next=p;
        pa=p;
        p=p->next;
        if(p)
        {
            r=p->next;
            p->next=pb->next;
            pb->next=p;
            p=r;    
        }    
    }    
    pa->next=NULL;
    free(L);
    displayList(A);
    printf("\n");
    displayList(B);
} 

int main()
{
    LinkList L;
    TailCreate(L);
    displayList(L);
    printf("\n");
    Split(L);
    return 0;
}

 

标签:11,malloc,38,LNode,next,LinkList,sizeof,NULL
From: https://www.cnblogs.com/simpleset/p/17744911.html

相关文章

  • 深入了解iPhone 15 Pro内部结构和技术组件338500537、TPS6565780、338500843、SN300
    TechInsights团队正在拆解iPhone15Pro,以揭示其中的创新,包括使用台积电3nm工艺的全新A17芯片,提供了深入了解iPhone15Pro内部结构和技术组件。NXPNFC控制器安全元件SN300:(SN300VUK)Apple/Cirrus逻辑音频放大器338500537TiAMOLED显示器电源TPS6565780KIOXIA256GBNAND闪存App......
  • python11
    3.3字符串的公共功能1.相加:字符串+字符串v1="吉林省"+"长春市"print(v1)2.相乘:字符串*整数data="alex"*3print(data)3.长度data="吉林省长春市"value=len(data)print(value)4.获取字符串中的字符,索引message="吉林省长春市"#012......
  • WIN11 安装 SQL Server 2019,SQLSERVER2022, MYSQL 8.0 ,Docker,Mongodb失败故障分析
    最近研究数据库性能调优遇到各种数据库各种装不上,不知道熬了多少根软白沙,熬了多少颗张三疯,问了多少AI,查了多少网页,熬了两天,终于搞明白了一件事:那就是WIN11ONARM(因为拿的是MACPROM2做.NET平台开发安装)SQLSERVER2019,SQLSERVER2022,MYSQL8.0,Docker,Mongodb失败故障分析,最终极......
  • 38-10
    将一个带头结点的单链表A分解为两个带头结点的单链表A和B,使得A表中含有序号为奇数的元素,B表含有序号为偶数的元素,且保持相对顺序不变应好好分析指针变化,可减少冗余代码!!!#include<stdio.h>#include<stdlib.h>typedefstructnode{intdata;structnode*next;}L......
  • 38-9
    给定一个带头结点的单链表,按递增次序输出单链表中各结点的数据元素,并释放空间。不允许使用辅助数组使用直接插入排序,将链表递增,然后进行遍历删除操作时间复杂度为O(N²)#include<stdio.h>#include<stdlib.h>typedefstructnode{intdata;structnode*next;}......
  • cf1110D. Jongmah
    cf1110D.Jongmah如果能够发现一点转化的话就简单很多比如说最后的答案里出现了三个(a,a+1,a+2),我们可以将它看作是(a,a,a),(a+1,a+1,a+1),(a+2,a+2,a+2)也就是每种三元组(除了(a,a,a))最多只会出现两次那么每种数最多有6个是个其它数组成三元组。直接dp即可#include<cstdio>#......
  • 38-8
    给定两个链表,编写算法找出两个链表的公共结点#include<stdio.h>#include<stdlib.h>typedefstructnode{intdata;structnode*next;}LNode,*LinkList;voidTailCreate(LinkList&L){L=(LinkList)malloc(sizeof(LNode));L->next=NULL;LNo......
  • 38-6
    有一个带头结点的单链表L,设计一个算法使其元素递增有序#include<stdio.h>#include<stdlib.h>typedefstructnode{intdata;structnode*next;}LNode,*LinkList;voidTailCreate(LinkList&L){L=(LinkList)malloc(sizeof(LNode));L->next=NULL;......
  • python11
    3.3字符串的公共功能1.相加:字符串+字符串v1="吉林省"+"长春市"print(v1)2.相乘:字符串*整数data="alex"*3print(data)3.长度data="吉林省长春市"value=len(data)print(value)4.获取字符串中的字符,索引message="吉林省长春市"#012......
  • iPhone 15 Pro Max的Type-C接口有多牛?实测USB3比USB2快11倍
    苹果最新的iPhone15系列和iPhone15Pro系列新机,尽管两者都是Type-C接口,但速度相差20倍。据了解,iPhone15Pro/Max搭载的苹果A17Pro芯片内含专门的USB3模块,使其成第一款具备USB3速度的iPhone手机。有了这个模块,iPhone15Pro/Max的USB3比起iPhone15(A16芯片)的USB2来说,速度......