- 2024-11-06XML文件——增删改查
XML文件——增删改查1将数据库表student_table的增删改查用XML来实现:2其中,conditionMap存储条件语句,where"xxx"="xxx"(whereconditionMap.begin()->first==conditionMap.begin()->second)34#include<iostream>5#include"tinyxml.h&quo
- 2024-10-13C++_list的使用及其实现
✨✨欢迎大家来到小伞的大讲堂✨✨
- 2024-09-11树(tree)和哈希算法(Hash)
树由n个节点组成的有限集。有一个根节点;其他节点只有一个前驱节点,但可以有多个后继节点。叶子节点(终端结点):只有前驱结点没有后继结点结点度:子节点的个数称之为度树的(广)度:树中各节点度的最大值 深度:从根节点到最底层节点的层数森林:n个互不相交的树的集合二叉树:任意一个节点
- 2024-09-06内核链表
一、特性内核链表:双向循环有头链表组成:将链表的结点作为结构体成员存在,只放指向前驱结点和后继结点的指针offsetof获取结构体中的成员到结构体开头中的偏移量container_of通过偏移量获取结构体首地址但应用层不能使用上述两个宏,处理方法:将节点作为结构体第一个成员(结构
- 2024-09-05内核链表基本知识
一、基本知识内核链表:可以给里面的每一个数据都可以存储不同的数据的类型,结构体成员里面(将结点放在数据中)1、实质内核链表:有头的、双向循环链表2、注意结构体第一个成员即为结构体的首地址该链表里面的数据主要由两部分构成前驱结点,后继结点,该节点作为数据放在数据中3、
- 2024-05-30A*算法求解八数码问题
一、问题描述:A*算法是一种启发式图搜索算法,其特点在于对估价函数的定义上。对于一般的启发式图搜索,总是选择估价函数f值最小的节点作为扩展节点。因此,f是根据需要找到一条最小代价路径的观点来估算节点的,所以,考虑每个节点n的估价函数值为两个分量:f(n)=g(n)+h(n),从起始节点
- 2024-05-26链栈
链栈linkStack.h文件#pragmaoncetypedefstructNode{ intdata; structNode*next;}node,*pnode;classLinkStack{private: Node*top;public: LinkStack(); ~LinkStack(); voidpush(intx); intpop(); intgetTop(); boolisEmpty(); voiddisplay
- 2024-03-26数据结构-哈希表-007
1哈希表-通讯录1.1哈希结点结构体定义/*=====自定义数据类型=====*/typedefstructperson_information{charname[32];charsex;intage;chartel[32];charaddr[64];}DATA_TYPE;/*=====定义一个哈希数据结点=====*/typedefstructhash_
- 2024-03-22数据结构笔记
数据结构数据在内存中的存储方式(存储结构)程序=数据+算法算法=操作的步骤算法的时间复杂度动态数组链表迭代器栈和队列二叉搜索树二叉平衡树哈希表1.时间复杂度考量算法的时间复杂度有一个前提就是控制变量,语句的执行时间相同,数据的样本量相同……
- 2024-02-05目录遍历(建立目录树,记录目录属性)仅适用于小样本
directory.h#pragmaonce#include<windows.h>#include<tchar.h>#include<stdio.h>#include<tchar.h>#include<string>#include<stack>#include<codecvt>#include<vector>#defineFILE_NOT_IN_NODE-1classDirTreeNode{p
- 2023-10-21链表、栈的基本操作
栈的基本操作#include<iostream>usingnamespacestd;#defineOK1#defineERROR0#defineMaxSize100typedefintElemType;//定义栈_顺序栈structStack{ ElemType*top; ElemType*base; intstacksize;};intIsFull(Stacks);intIsEmpty(Stacks);//初始化in
- 2023-10-14动态内存管理函数及应用--通讯录管理系统(1)
引言:我们在创建一个局部变量时,通过下列定义语句向内存申请空间,内存在栈区为变量开辟相应的空间。intval=10;//在内存中栈区中开辟大小为4Byte大小的空间chararray[10]={0};//在内存中栈区中开辟大小为10Byte大小的连续的空间...上述方式开辟空间的特点:空间开辟大小是固定的,开辟好
- 2023-09-26北林OJ题227、228
记录一下自己做的题227交集#include<iostream>usingnamespacestd;//求有序链表的交集typedefintData;structLNode{ Datadata; LNode*next;};//初始化voidInitList(LNode*&L){ L=newLNode; L->next=NULL;}//尾插法创建链表voidCreateList_B(LNode
- 2023-09-10模拟栈
#include<stdio.h>#include<malloc.h>#include<stdlib.h>//模拟栈的功能//自定义数据类型typedefstructNode//节点类型{ intdata;//存放的数据 structNode*pNext;//下一个结点的地址 }NODE,*PNODE;//将数据类型起别名typedefstruct
- 2023-09-03链表实现插入排序
将一串整型范围内的数按升序输出。数据输入样式16-53-3-54744818-245463663-9919-99990789用链表实现实例:1)结构体定义1structListNode2{3intdata;4ListNode*next;//结构体指针5ListNode*pre;//结构体指针6};2)建一个初始
- 2023-08-11数据结构
一.链表#链表节点classNode:def__init__(self,dataVal=None):self.dataVal=dataValself.next=None#开始节点classSLinkedList:def__init__(self):self.next=None#打印链表defprintLink(self):pNo
- 2023-07-041043_二叉树的生成和遍历(循环方式)
1、遍历方法前序遍历(preOrder)对每个节点(子树)、贯彻这个遍历顺序:根->左->右中序遍历(inOrder)左->根->右后序遍历(postOrder)左->右->根层序遍历一层一层、从左到右遍历参考资料:二叉树各种遍历方法递归和循环实现树的层次遍历的几种方法
- 2023-05-31dfs 二叉树中序遍历迭代解法——求解BST中第k小元素
BST中第K小的元素中文English给一棵二叉搜索树,写一个 KthSmallest 函数来找到其中第K小的元素。Example样例1:输入:{1,#,2},2输出:2解释: 1 \ 2第二小的元素是2。样例2:输入:{2,1,3},1输出:1解释:2/\13第一小的元素是1。Challenge如果这棵BST经常会被修改(
- 2023-05-04模块与群体数据
#include<iostream>#include<cassert>usingnamespacestd;template<typenameT>classOrderList{ public: typedefstruct_NODE{ Tvalue; struct_NODE*next; }NODE,*PNODE; OrderList():pHead(NULL),size(0){} OrderList(constOrderList&
- 2023-04-30【数据结构】链式型存储结构-循环单链表
1 前言对于单链表,由于每个结点只存储了向后的指针,到了尾部标识就停止了向后链的操作。也就是说,按照这样的方式,只能索引后继结点不能索引前驱结点。这样一来,不从头结点出发,这样就无法访问到全部结点。为了解决这个问题,我们只需要将单链表的尾结点的指针由空指针改为指向头结点
- 2023-04-13PAT Basic 1090. 危险品装箱
PATBasic1090.危险品装箱1.题目描述:集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。2.输入格
- 2023-04-07JZ8 二叉树的下一个结点
做法一:直接求出中序遍历,并用vector容器存储。/*structTreeLinkNode{intval;structTreeLinkNode*left;structTreeLinkNode*right;structTreeLinkNode*next;TreeLinkNode(intx):val(x),left(NULL),right(NULL),next(NULL){
- 2023-04-03Menu callback函数
对于一般的函数来说,函数的编写和调用都是我们自己。但callback函数不是这样的,它是由我们编写但是不由我们调用,由我们将函数指针传给其他模块,再由其他模块通过我们传递的函数指针来调用我们编写的函数。 在menu5.2中,向其他模块传递callback函数的函数如下,传递的callback函数就
- 2023-03-21STL之list底层简单实现(七千字长文详解!)
list底层的简单实现list_node的实现!要实现链表我们首先就要实现节点的结构体!structlist_node{ list_node*_next; list_node*_prev; T_data;};list_node的构