数据结构
boost66
这个作者很懒,什么都没留下…
展开
-
牛客ACM模式标准输入
牛客ACM模式标准输入1、cin根据cin>>sth 中sth的变量类型读取数据,这里变量类型可以为int,float,char,char*,string等诸多类型。这一输入操作,在遇到结束符(Space、Tab、Enter)就结束,且对于结束符,并不保存到变量中。cin不能读取空格,遇到第一个非空格字符开始读,读取到下一空格字符停止读取,且不会将空格符保存到缓冲区中。cin从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除,继原创 2022-04-07 14:40:46 · 3636 阅读 · 1 评论 -
七大排序算法——直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序
typedef struct{// int r[MAXSIZE + 1]; //用于存储排序数组,r[0]用作哨兵或者临时变量vector r{0, 50, 10, 90, 30, 70, 40, 80, 60}; //方便测试,直接定义容器存储数据int length = 8; //记录顺序表的长度} SqList;void swap(SqList &L, int i, int j){ //交换L数组r中下标为i和j原创 2021-10-13 19:57:13 · 356 阅读 · 0 评论 -
图的遍历——主要有基于递归思想的深度优先递归算法和基于队列的广度遍历算法
#define MAXVEX 100 //最大顶点数bool visited[MAXVEX];typedef struct main{ int vexs[MAXVEX]; //顶点表,记录顶点信息,可以用vector记录,数据类型可根据具体情况确定 int arc[MAXVEX][MAXVEX]; //邻接矩阵,可以使用vector<vector<int>>定义 int numVertexes, numEdges; //顶点数和边数原创 2021-10-06 15:59:47 · 214 阅读 · 0 评论 -
二叉树的前序遍历、中序遍历、后序遍历、层序遍历算法(分别采用递归思想与迭代思想实现)
/*分别使用递归思想与迭代思想实现二叉树的前序遍历、中序遍历、后序遍历*///递归思想实现前序遍历、中序遍历、后序遍历//1、递归思想实现前序遍历void PreOrderTraverse(BitTree T){ if (T == NULL) return; printf("%c", T->data); //显示节点数据,可以更改为对其他节点的操作 PreOrderTraverse(T->lchild); //再先序遍历左子树原创 2021-09-24 21:13:05 · 291 阅读 · 0 评论 -
二叉树遍历算法的应用——计算二叉树的深度、计算二叉树的节点总数、计算二叉树的叶子节点数(均采用递归的思想)
//二叉树遍历算法的应用//1、计算二叉树的深度int Depth(BitTree T){ if(T==NULL)return 0;//如果是空树,返回0 else{ m=Depth(T->lchild); n=Depth(T->rchild); if(m>n)return m+1; else return n+1; }}//2、计算二叉树节点总数int NodeCount(BitTree T原创 2021-09-23 22:00:51 · 1075 阅读 · 0 评论