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

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

阅读更多

/*编程环境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
分享到:
评论

相关推荐

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

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

    Leetcode 反转链表.js

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

    《剑指Offer》题目及代码.zip

    13. O(1)时间删除链表节点 14. 使数组中的奇数位于偶数前面 15. 找链表中倒数第K个节点 16. 输出反转后的链表 17. 合并两个有序链表 18. 判断二叉树A中是否包含子树B 19. 二叉树的镜像 20. 顺时针打印矩阵 21...

    C语言单循环链表的表示与实现实例详解

    用单向链表构建的循环链表 循环链表中第一个节点之前就是最后一个节点,反之亦然。循环链表的无边界使得在这样的链表上设计算法会比普通链表更加容易。对于新加入的节点应该是在第一个节点之前还是最后一个节点之后...

    基础知识一、Python实现双向链表

    文章目录一、构建链表节点二、实现链表类三、测试逻辑测试结果 一、构建链表节点 class Node: def __init__(self, key, value): """ 初始化方法 :param key: :param value: """ self.key = key self.value =...

    数据结构课程设计-银行账户管理系统.doc

    本程序应用链表节点的比较改进程序。)。储户的存取也是应用节点的比 较查找之后进行的账户钱数加减。 2.程序的执行命令操作 (1).建立节电类模板,构建链表. (2).输入储户信息. (3).执行各项操作(数据测试) 1.查询储户...

    数据结构链表

    //构建链表 void LinkPrint(); //打印链表 void LinkGetElem(int , ElemType &); //取得第i个元素 void LinkInsert(int , ElemType); //插入元素 void LinkDelete(int); //删除元素 void LinkMerge(LinkList &...

    javalruleetcode-Leetcode:LeetCode、Swordoffer、数据结构、算法的编程题

    java lru leetcode Leetcode仓库介绍 包含了面试刷题的一些代码,使用Python实现 相关文档见个人知乎专栏: 1 专题分类 1.1 数组 ...so.1....so.13....so.19....so.28....so.32....so.35....删除链表的倒数第N个节点 lc.23

    深入浅出之双向链表

    以Linux内核链表为例讲解链表的构建、查询、增加节点等知识和技巧,并介绍在实际中的运用!

    hadoop大数据实战手册

    第一部分核心设计篇 第1 章HDFS 的数据存储………….. .....………………… ……………………····· ··· …..... ......1.1 HDFS 内存存储...............…·························...

    剑指offer—单链表的基本知识与构建、倒叙输出链表、合并双排序链表、复制复杂链表

    对于单链表的基本写代码的注意点:  1:头节点传进来赋给一个新指针,以保存最开始节点不改变。  2:记忆单链表各种题目的一般模板: while temp: temp = temp.next ...  6:对于新链表的构建,头部

    剑指offer算法题Python源码带详细思路注释(68道).zip

    翻转单词顺序列,反转链表,斐波那契数列,复杂链表的复制,构建乘积数组,和为s的连续整数序列,和为s的两个数字,滑动窗口的最大值,机器人的运动范围,剑指offer-python实现.docx,矩形覆盖,矩阵中的路径,连续子数组的最大...

    C语言实现的双链表功能完整示例

    主要介绍了C语言实现的双链表功能,结合完整实例形式分析了基于C语言实现的双链表定义、添加、删除、排序等相关操作实现技巧,需要的朋友可以参考下

    C++约瑟夫算法问题 课程设计

    1. 定义了一个链表节点结构`Node`,每个节点包括编号(id)、密码(data),以及指向下一个节点的指针`next`。 2. 创建了一个函数`createCircularList`,用于创建循环链表。该函数接受一个整数参数`n`,表示人数,...

    使用链表存储二叉排序树并实现遍历算法(完全可用版)

    实现CreateTree函数函数原型:btnode *CreateTree (int n)形参说明:n: 节点个数返回值说明:返回树的根节点指针函数功能:构建有n个节点的二叉排序树,第一个节点为根节点,其它节点依次按照二叉排序树的构造过程...

    leetcode答案-Leetcode:LeetCode上的剑指offer题目;将它们分为十类,如下所示。并且有js编程语言的答案

    leetcode 答案 leetcode刷题分类基础(前端JavaScript版答案) [TOC] 一、 数组类 1、 04. 二维数组中的查找 ...两个链表的第一个公共节点 五 DFS深度优先搜索 1、(递归)27. 二叉树的镜像 2、28. 对

    目前最火最热门的python经典编程题之3

    52.两个链表的第一个公共结点 Linked List 53.数字在排序数组中出现的次数 Binary Search 常考 54.二叉搜索树中的第k个结点 Tree 55.二叉树的深度 Tree 55.平衡二叉树 Tree 56.数组中只出现一次的数字 Array 57...

    C++利用静态成员或类模板构建链表的方法讲解

    利用静态成员构建链表 #include <IOSTREAM> class Node { public: Node(int val, Node* next):val(val),next(next){} //~Node(){cout<<"del "<<val<<endl;} static void showAll();//打印...

    C语言实现二叉树的基本操作

    二叉树的基本构建方式为:添加一个节点,如果这是一棵空树,则将该节点作为根节点;否则按照从左到右、先左子树后右子树的顺序逐个添加节点。比如依次添加节点:1,6,10,2,7,11,则得到的二叉树为: 在这里,我们需要...

    判断链表是否为回文链表leetcode-Algorithms:Coding_Interviews和Leetcode

    链表中倒数第k个节点(遍历一次这个链表) 链表中环的入口节点 树的子结构 二叉树的前序遍历 二叉树的中序遍历 二叉树的后序遍历 二叉树的镜像 二叉搜索树的后序遍历序列 判断一个数是不是丑数 单链表删除指定数字 ...

Global site tag (gtag.js) - Google Analytics