数据结构(C语言版)严蔚敏--->一些操作相关数据结构的题目

Posted il_持之以恒_li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版)严蔚敏--->一些操作相关数据结构的题目相关的知识,希望对你有一定的参考价值。

1.将一个带头节点的单链表A分解成两个带头节点的单链表A和B,使得A表中含有原表中序号为奇数的元素,而B中含有原表中序号为偶数的元素,且保持相对顺序不变

思路:原本是想定义一个变量用来记单链表A的序号的,但是后面代码写出来,发现,根本没有必要定义这个变量。用一个指针pa1直接指向带头节点的单链表A的后一个节点(也就是序号为1(奇数)的节点),它的后一个节点(如果不为NULL),那么肯定是一个序号为偶数的节点,对单链表A的操作是用指针pa2指向pa1的后一个节点,然后pa1的后一个节点直接指向pa2后一个节点,然后将pa2后一个节点为NULL,之后将pa2接在单链表B后面。【描述的不是很清楚哈!】

参考代码:

void function1(LinkList &A,LinkList &B)
    LNode *pa1 = A->next,*pa2;
    // 建立单链表B
    B = (LNode *)malloc(sizeof(LNode));
    B->next = NULL;
    LNode *pb = B;
    while(pa1)
        if(pa1->next)
            pa2 = pa1->next;
            pa1->next = pa2->next;
            pa2->next = NULL;
            pb->next = pa2;
            pb = pa2;
        
        pa1 = pa1->next;
    

运行结果:

以上是关于数据结构(C语言版)严蔚敏--->一些操作相关数据结构的题目的主要内容,如果未能解决你的问题,请参考以下文章

数据结构(C语言版)严蔚敏---图的操作的相关代码

数据结构(C语言版)严蔚敏---图的操作的相关代码

数据结构(C语言版)严蔚敏---二叉树遍历操作二叉树的相关代码

数据结构(C语言版)严蔚敏---二叉树遍历操作二叉树的相关代码

数据结构(C语言版)严蔚敏--->操作链表的一些算法(持续更新中。。。)

数据结构(C语言版)严蔚敏--->操作链表的一些算法(持续更新中。。。)