![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构(个人学习)
马铃薯煲土豆
头发要掉光咯...
展开
-
C语言中字符串碰到的坑
c语言中没有string类型(定义会报错 string name;编译时会出错) 那要怎么定义字符串呢? 首先需要 char s[20]; 首先是静态赋值: char s[20]=“1245”; 可是当需要动态赋值时 假设有一字符串数组:char *str[5]={"Apple","Banana","Water","Orange","Milk"}; char s[20]=str[1];//编...原创 2019-12-05 15:09:27 · 400 阅读 · 0 评论 -
将顺序存储的数组转换为完全二叉树
#include<iostream> #include<stdio.h> #include<cstring> #include<stdlib.h> #include<queue> using namespace std; typedef struct BiNode{ int data; BiNode *lchild,*rc...原创 2019-11-29 21:37:39 · 726 阅读 · 0 评论 -
判断平衡二叉树
#include <iostream> #include <stdlib.h> using namespace std; typedef struct Binode{ char data; Binode *lchild,*rchild; }Binode,*Bitree; void creatBitree(Bitree &T){ //构造二叉树,...原创 2019-11-18 18:43:36 · 125 阅读 · 0 评论 -
森林的先序遍历与中序序列结合的问题
已知森林的先序遍历序列:ABEDCFGHIJ 中序遍历序列:EBFCDAGIJH 其实森林的先序和中序对应着二叉树的先序和中序遍历,因此可以先根据中序和先序构造出二叉树在转换为森林。 A A G H / \ / \ ...原创 2019-11-12 19:33:18 · 8879 阅读 · 3 评论 -
希尔排序
希尔排序又称 “缩小增量排序“ 假设有一个无序的数组为 {9,5,7,6,2,4,10,1,3,8},共有10个数 int a[10]={9,5,7,6,2,4,10,1,3,8}; 主要思想: 根据步长来分割数组,步长分别为 5=(10/2) 2=(5/2) 1=(2/2);都是向下取整,直到步长为1; 步长为5时分割的数组是 {9,4},{5,10},{7,1},{6,3},{2,8}...原创 2019-10-31 20:43:32 · 134 阅读 · 0 评论 -
将单链表置为递增有序的链表(带头节点的)
#include <iostream> #include <stdlib.h> using namespace std; typedef struct LNode{ int data; LNode *next; }LNode,*LinkList; void CreatLinkList(LinkList &L){ LNode *r,*s; ...原创 2019-10-28 22:59:32 · 644 阅读 · 0 评论 -
链表就地逆序(PS: 利用:头插法)
#include <iostream> #include <stdlib.h> using namespace std; typedef struct LNode{ int data; LNode *next; }LNode,*LinkList; void CreatLinkList(LinkList &L){ LNode *r,*s; ...原创 2019-10-28 21:48:00 · 132 阅读 · 0 评论 -
C++链表实现倒序输出(递归实现)
解题思路:先进后出 - - - - - 栈 - - - - -递归 #include <iostream> #include <stdlib.h> using namespace std; typedef struct LNode{ int data; LNode *next; }LNode,*LinkList; void CreatLinkList(Lin...原创 2019-10-28 20:58:58 · 1503 阅读 · 0 评论 -
C++链队的基本操作
链队的关键还是先进先出,后加入的数据应该在队尾。 #include <iostream> #include <stdlib.h> using namespace std; typedef struct QNode{ int data; //存放数据 QNode *next; //指向下一个元素 }QNode,*QueuePtr; typedef struc...原创 2019-10-26 16:33:32 · 332 阅读 · 0 评论 -
C++实现队列的基本操作
队列的关键在于先进先出 #include<iostream> #include<stdlib.h> using namespace std; #define QUEUE_MAX_SIZE 5 typedef struct{ int *front; int *rear; int queuesize; }Queue; void InitQueue(Qu...原创 2019-10-26 14:59:05 · 1332 阅读 · 0 评论 -
C++实现栈的基本操作(顺序栈)
#include<iostream> #include<stdlib.h> using namespace std; #define STACK_MAX_SIZE 100 typedef struct{ int *base; int *top; int stacksize; }SqStack; void InitStack(SqStack *S){/...原创 2019-10-26 14:21:38 · 631 阅读 · 0 评论 -
C++ 实现图的广度和深度优先遍历
广度优先 BFS 广度优先类似于树的的层次遍历,核心用到 队列的思想 深度优先 DFS 深度优先类似于树的先根遍历 , 核心用到递归的思想 #include <iostream> #define Maxvex 100 #include <queue> bool visited[Maxvex];//在深度优先中是否被遍历过 typedef char VertexType;//...原创 2019-10-22 18:53:31 · 639 阅读 · 0 评论