`
aijuans
  • 浏览: 1567890 次
社区版块
存档分类
最新评论

链表.简单的链表节点构建

阅读更多

/*编程环境WIN-TC*/
#include "stdio.h"
#include "conio.h"

#define NODE(name, key_word, help) \
 Node name[1]={{NULL, NULL, NULL, key_word, help}}

typedef struct node
{
    struct node *next;    /*兄弟节点*/
    struct node *child;  /*子节点*/
    struct node *parent; /*父节点*/

    const char *key_word;
    const char *help;
}Node;

/*各节点关联构成链表*/

int node_add(Node *mynode, Node *parent)
{
    if(mynode == NULL || parent == NULL)
        return 0;
    mynode->parent = parent;   
    mynode->next = parent->child;
    parent->child = mynode;
    return 1;
}

main()
{

    /*父子兄弟节点测试*/
    NODE(node_modem, "modem", "GPRS modem");
    NODE(node_modem_test, "modem test", "GPRS modem test");
    NODE(node_modem_run, "modem run", "GPRS modem rum");
    NODE(node_modem_go, "modem go", "GPRS modem go");
    node_add(node_modem_test, node_modem);
    node_add(node_modem_run, node_modem);
    node_add(node_modem_go, node_modem);
    printf("%s",node_modem->child->next->key_word);

    getch();
}

更多详细信息请查看java教程网 http://www.itchm.com/forum-59-1.html
分享到:
评论

相关推荐

    C语言数组-C语言实现使用动态数组来构建循环链表.zip

    在C语言中,创建循环链表通常涉及定义一个结构体来表示链表节点,包含数据和指向下一个节点的指针。由于链表的节点不是连续存储的,因此不适合使用普通数组,而应使用动态数组来模拟链表的行为。 在“C语言数组_...

    文件读写入链表.zip_C++链表_数据结构_文件读写_读链表_链表读取文本

    每读取一行或一块数据,就创建一个新的链表节点,将数据存储在节点中,并链接到链表中。 在"文件读写入链表.cpp"这个源文件中,开发者可能实现了以下步骤: 1. 定义链表节点结构体,包含数据和指向下一个节点的指针...

    双链表-循环链表-静态链表.pdf

    静态链表因其实现简单,空间固定,适用于那些数据量变化不大,且可以事先预知节点数量上限的场景。 通过对双链表、循环链表和静态链表的学习,我们可以构建出各种适应不同问题的解决方案。这些链表的实现和操作构成...

    BM-4-合并两个排序的链表.py

    资源介绍: BM_4_合并两个排序的链表.py 是一个Python脚本,它实现了合并两个已排序链表的功能。...通过阅读和理解该脚本,开发者可以学习如何定义链表节点、如何遍历和操作链表。 解决实际问题。合并两个已排序链表是

    头插法建链表.zip

    在这个课程设计中,`main.cpp`很可能是实现头插法建链表的代码主体,包含了定义链表节点、插入操作以及可能的测试逻辑。 2. `CMakeLists.txt`: 这是CMake项目的配置文件,用于定义项目的目标、源文件、依赖库等信息...

    计算机网络0701 链表.rar

    2. **缓冲区管理**:在传输层,如TCP协议中,链表用于构建数据段的缓冲区,方便数据的拼接和分片,便于实现滑动窗口协议和拥塞控制策略。 3. **队列实现**:在网络协议栈中,队列常用于暂存待处理的数据包。链表...

    Leetcode 反转链表.js

    在JavaScript中,链表通常通过构建一个ListNode类来表示,其中包含val和next两个属性,分别表示节点的值和指向下一个节点的指针。反转链表的基本思路是遍历原链表,逐个节点地更改它们的next指针,将它们指向前一个...

    C语言写函数建立一个有三名学生数据的单项动态链表

    - 编写函数`create()`用于输入学生数据并构建链表。 - 输出链表中的所有学生数据以及链表的长度。 #### 三、链表结构定义 首先定义链表的基本单元——节点结构体。根据题目要求,这里定义了一个`struct Student`...

    循环链表和双向链表.ppt

    双向链表则更进一步,每个链表节点不仅包含一个指向后继节点的指针,还包含一个指向前驱节点的指针。这样,可以从两个方向遍历链表,增加了灵活性。插入和删除操作在双向链表中稍微复杂,因为需要更新前后两个节点的...

    算法设计-实验五-链表.docx

    - 创建链表:从头开始构建链表,每次添加新节点时更新最后一个已知节点的`next`指针。 3. **concatlist函数**: - 连接链表:该函数接受两个链表的头部节点,通过将第二个链表的头部附加到第一个链表的尾部来连接...

    #001数据结构实验之链表一:顺序建立链表.md

    // 定义链表节点结构 struct node { int data; struct node* next; }; int main() { struct node* head, *p, *q; // 定义指针 head = (struct node*)malloc(sizeof(struct node)); // 分配内存 head->next = ...

    C语言实现使用动态数组来构建循环链表.zip

    为了实现这个循环链表,我们需要定义一个结构体,表示链表节点。节点通常包含两个部分:数据域和指针域。数据域存储实际的数据,指针域存储下一个节点的地址。由于我们要使用动态数组,数据域可以是一个动态分配的...

    c语言编程题之链表操作回文链表.zip

    在C语言中,可以定义一个结构体来表示链表节点: ```c typedef struct Node { int data; struct Node* next; } Node; ``` 接下来,我们需要创建和操作链表的方法,如插入节点、删除节点、打印链表等。对于这个...

    计算机软件技术编程基础链表.pptx

    在实际编程中,链表通常用结构体或类来表示,例如在C++中,可以定义如下的链表节点结构体: ```cpp struct ListNode { ELEM data; // 数据域,可以是任意类型 ListNode *next; // 指针域,指向下一个节点 }; ``` ...

    python实现重排链表.md

    这种重排方法在某些特定场景下非常有用,比如在构建环形链表时,或者在某些数据结构操作中需要这种特定顺序。 #### 重排链表的步骤解析 实现重排链表的主要步骤可以分为以下几个部分: 1. **寻找链表的中点**: -...

    js二叉树和链表.zip_js二叉树和链表_链表

    链表节点的JavaScript实现: ```javascript function ListNode(value) { this.value = value; this.next = null; } ``` 2. **插入操作** 在链表头部或尾部插入新节点。 ```javascript function insertHead...

    建立正序链表.docx

    在给定的代码中,我们看到一个简单的单链表的实现,用于创建一个正序链表。以下是关于链表和代码实现的详细解释: 1. **链表结构**:`struct node`定义了链表的节点结构,包含两个成员,`data`用来存储整数值,`...

    java-leetcode题解之第148题排序链表.zip

    在Java中,我们可以创建一个`ListNode`类表示链表节点,然后编写一个`sortList(ListNode head)`方法来实现归并排序。`ListNode`类应包含数据域和指向下一个节点的指针。`sortList`方法首先检查链表是否为空或只有一...

    双链表.zip

    - 数据库索引:双链表常被用于数据库系统中,构建索引结构,如B树和B+树的节点链接。 - 缓存管理:LRU(Least Recently Used)缓存替换策略中,双链表可高效地管理最近使用的数据。 - 文本编辑器:实现撤销/重做...

    练习题-数组双向链表.pdf

    通常情况下,链表是通过指针连接各个独立的节点来构建的,而在本练习中,我们将探讨一种不同的方法——使用数组来维护链表结构。这种方法不仅有助于提高程序的运行效率,还能让学习者更深入地理解数据结构的核心概念...

Global site tag (gtag.js) - Google Analytics