- 博客(6)
- 收藏
- 关注
原创 求二叉树最长路径和所有路径
求最长路径采用递归的方法,比较左右子树的高度,输出深度最大的那棵树的根节点。int Depth(BiTree T){ if (T == NULL) return 0; return 1 + (Depth(T->lchild) > Depth(T->rchild) ? Depth(T->lchild) : Depth(T->rchild)); //左右子树高度最大的那颗子树的高度加一就是树的高度}void Long(BiTree T
2021-05-13 22:04:27
864
1
原创 计算二叉树最大宽度
求最大宽度可采用层次遍历的方法,定义一个队列,先把树的根结点入队,每次出队一个结点如果有他有孩子结点就把孩子结点入队以此类推。记下各层结点数,每层遍历完毕,若结点数大于原先最大宽度,则修改最大宽度。int Width(BiTree T){ if (T == NULL) return 0; //树空宽度为0 SeqQueue Q; int temp = 0, last = 0, max = 0
2021-05-12 20:08:35
8570
原创 memset不能初始化为0或-1外的其他数字
函数概要:memset 函数使用常量字节 c 填充 s 指向的前 n 个字节。函数原型:#include <string.h>...void *memset(void *s, int c, size_t n);参数 含义s 指向要操作的内存空间c 指定要填充的值n 指定要填充 s 指向空间的前 n 个字节memset函数按字节对内存块进行初始化,所以不能用它将int数组初始化为0和-1之外的其他值(除非该值高字节和低字节相同)void rebuild(int *matri
2021-03-31 10:56:31
619
原创 scanf指定精度后输出结果为0
scanf的格式化占位符中不能指定精度。例如printf("请输入两个数:"); scanf("%.2f %.2f", &num1, &num2); printf("对这两个数加减乘数之后的结果是:"); for (i = 0; i < 4; i++) { op = sw[i]; fp = select(op);
2021-03-22 20:40:46
2054
转载 指针的初始化和赋值
1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。例如:int a = 25;int *ptr = &a;int b[10];int *point = b; int *p = &b[0];如果:int *p; *p = 7;则编译器(vs2008)会提示The vari...
2021-03-12 20:09:51
744
原创 strlen函数与sizeof
函数概要:strlen 函数用于返回指定字符串的长度。C 语言字符串的长度取决于结束符(’\0’)的位置。一个字符串的长度指的是从起始位置到结束符的字符个数(不包含结束符本身)。char mystr[100] = "I like study!";上边代码定义一个可以存放 100 个字符的数组,但 mystr 字符串只被初始化为包含 14个字符的长度。因此,sizeof(mystr) 的结果是 100,而 strlen(mystr) 的结果则是 14。#include <stdio.h&g
2021-03-10 15:53:25
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅