zoukankan      html  css  js  c++  java
  • 链表的链接(2)

    链表的链接和字符串的连接相似,将链表ptr1最后一个指针连接到链表ptr2开始的第一个结点上即可。

    链表的链接
    /*------------两个链表的链接-------------*/

    #include
    "stdio.h"
    #include
    "stdlib.h"

    struct llist //链表的结构声明
    {
    int num; //邮寄编号
    struct llist *next; //指向下一标签

    };
    typedef
    struct llist node; //定义新类型
    typedef node *llink; //定义新类型指针


    /*------------链表的输出----------*/

    void printfllist( llink ptr)
    {
    while (ptr!=NULL) //链表遍历循环
    {
    printf(
    "[%d]",ptr->num); //输出结点数据
    ptr=ptr->next; //指向下一结点

    }
    printf(
    "\n");
    }

    /*--------链表的创建--------*/

    llink createllist(
    int *array ,int len)
    {
    llink head;
    //链表的头指针
    llink ptr,ptr1;
    int i;


    /*----创建第一个结点---*/

    head
    =( llink ) malloc(sizeof(node));
    if(!head)
    return NULL;
    head
    ->num=array[0]; //创建结点内容
    head->next=NULL; //设置指针初值
    ptr=head; //将ptr指向链表开始
    for(i=1;i<len;i++) //创建其他结点循环
    {
    ptr1
    =( llink ) malloc(sizeof(node));
    if(!ptr1)
    return NULL;
    ptr1
    ->num=array[i];
    ptr1
    ->next=NULL;
    ptr
    ->next=ptr1; //连接结点
    ptr=ptr->next; //指向下一结点
    }
    return head;
    }


    /*--------链表的连接---------*/


    llink concatllist(llink ptr1,llink ptr2)
    {
    llink ptr;

    ptr
    =ptr1; //指向链表1的开始
    while(ptr->next!=NULL) //寻找链表1的结束
    ptr=ptr->next; //指向下一结点
    ptr->next=ptr2; //链接链表2
    return ptr1;
    }


    /*-----连接两个由数组内容所创建的链表-----*/

    int main()
    {
    int llist1[6]={1,2,3,4,5,6};
    int llist2[5]={8,19,13,24,35};

    llink ptr,ptr1,ptr2;

    ptr1
    =createllist(llist1,6); //创建链表1
    if(ptr1==NULL)
    {
    printf(
    "内存分配失败!\n");
    exit(
    1);
    }
    ptr2
    =createllist(llist2,5); //创建链表2
    if(ptr2==NULL)
    {
    printf(
    "内存分配失败!\n");
    exit(
    1);
    }
    ptr
    =concatllist(ptr1,ptr2); //链接两链表
    printfllist(ptr);
    }
  • 相关阅读:
    NCD 2019 M. NCD Salary
    NCD 2019 H. Mr. Hamra and his quantum particles
    Codeforces Testing Round #16 C.Skier
    序列自动机(数组)
    Codeforces #640 div4 F~G (构造二连弹)
    NCD 2019 C. Hasan and his lazy students
    欧拉定理,费马小定理
    微信开发
    异常后显示错误页面
    js窗体间传值
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/1881464.html
Copyright © 2011-2022 走看看