翔改的数据结构之路~
胖翔改改
这个作者很懒,什么都没留下…
展开
-
C++实现的线索二叉树
线索二叉树的概念就不赘述了,最核心的定义就是:结构体中左右标志位的选取,本文中以ltag表示左节点,当ltag为false时,放置左孩子,true时放置前驱节点指针,同理,以rtag表示左节点,当rtag为false时,放置右孩子,true时放置后继节点指针。以下代码中有详细注释~????(不过线索二叉树真的好难懂鸭)typedef struct BiTreeNode{ char data; BiTreeNode *lchild; BiTreeNode *rchild; bool ltag原创 2020-08-24 23:52:56 · 338 阅读 · 2 评论 -
C++递归----汉诺塔、折半查找
递归 C++前言一、倒序实现字符串二、汉诺塔三、递归实现数组的折半查找-默认升序前言递归能解决好多复杂的问题 刚刚看到递归的部分 有几个小例子,记录下来????有倒序输出字符,汉诺塔摆放方式、折半查找数组(升序)等三个例子一、倒序实现字符串说明:用户输入字符串 以#结束,结果得到的是倒序输出。void myPrint()//倒序输出 用户输入的字符串{ char a; scanf_s("%c", &a,128);//C语言原型中的scanf函数 //scanf_s() 的功能原创 2020-08-16 13:07:12 · 146 阅读 · 0 评论 -
C++实现的队列--非STL
啊哈~我又来啦C++实现的队列 我发现指针 真的难 一不小心 就搞错 类模板 也真的难 一不小心 就忘记惹???? 还能怎样呢!艾玛 今天又是有进步的一天呢!(遁。。。)//队列template<typename T>class Queue;//声明一下 让好基友Queue可以访问NODE里的private成员template<typename T>class NODE{public: friend void Queue<T>::Insert(T e原创 2020-08-15 21:31:03 · 193 阅读 · 0 评论 -
逆波兰表达式原理及C++实现
1. 中缀表达式转后缀表达式 2. 逆波兰的原理 3. 上述的实现原创 2020-08-15 13:22:15 · 1557 阅读 · 0 评论 -
C++实现的栈--非STL
栈的实现包括:动态扩容、删除、遍历、插入元素????模板类 整就完事了//栈template<typename T>class Stack{public: Stack() { this->Maxsize = 2; this->base = new T[Maxsize];//分配内存 top = base; }; ~Stack() { this->Maxsize = 0; if (this->base!=NULL) {原创 2020-08-14 11:28:20 · 406 阅读 · 0 评论 -
双向循环链表的前插 后插 前删 后删
心累 好复杂 我真的学得会么????????????我能坚持几天 嘤嘤嘤????????????lay了双向链表插来删去真的好可怕。。我哭了 我没装????????????//双向循环链表struct DNode{ int data; DNode *next; DNode *prev;};struct DCircleList{ DNode* Head;};void InitDCircleList(DCircleList *L){ //DNode *n; DNode *n原创 2020-08-13 21:25:36 · 584 阅读 · 0 评论 -
我的数据结构之路漫漫啊啊啊啊啊啊啊
写在秋招之前~开始学数据结构 不知道能学多少,但是能学夺少算多少~奥里给!!!`emmmm 首先是C++的单链表啊~主要是内存空间的分配 太容易混淆了,用结构体做的,没有用类做那么清晰~但是理解就OK了哈哈哈哈struct Node //节点{ int data; Node *next;};struct Linklist //指向节点的指针{ Node* head;};void Insert(Linklist &L,int i,int elem){ Node *n=new原创 2020-08-13 09:38:09 · 94 阅读 · 0 评论 -
循环链表-约瑟夫环
一直在跟着小甲鱼学习,然后讲到了约瑟夫环的问题,具体问题就不描述了,贴一下自己写的代码 虽然很辣鸡 但是能跑????看见有用递归方法做的,还没有学到递归,争取早日能mark递归的方法把!!!//以下为约瑟夫主函数void Josef(Linklist *L){ Node *CurrNode = new Node(); CurrNode = L->head; int count = 1; while (GetCircleLength(*L)>2) { if (count%3=原创 2020-08-13 16:21:21 · 87 阅读 · 0 评论 -
魔术师发牌 发发发~
约瑟夫环的变种 就是以约瑟夫的方式往里面插牌 还怪难理解的 emmm做一简单记录????void DispatchCard(Linklist *L){ int count = 1; Node *CurrNode = new Node(); CurrNode = L->head; CurrNode->data = 1; while (count< GetCircleLength(*L)) { count++; int move = 0; while (move&l原创 2020-08-13 18:23:07 · 119 阅读 · 0 评论