![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习记录
Aok1
这个作者很懒,什么都没留下…
展开
-
二叉树计算公式和例题
1.完全二叉树,只有度为0和度为2的节点设总节点个数为N, 度为i的节点个数为Ni则完全二叉树: N = N0 + N22.度和边的关系,由完全二叉树可得:N - 1 = 2 * N2即:N = 2 * N2 + 13.节点总数N: N = N0 + N1 + N2度和边的关系: N - 1 = 0 * N0 + 1 * N1 + 2 * N2例:设根结点的深度为1,则一个拥有n个结点的二叉树的深度一定在( )区间内A.[logn + 1,n]B.[logn,n]C.[logn +原创 2021-03-19 12:04:02 · 2154 阅读 · 0 评论 -
写代码在中间插入字符时会把后面的相邻字符覆盖掉的问题
按一下电脑键盘上的lnsert(ins)键即可解决。原创 2021-01-19 11:44:13 · 450 阅读 · 1 评论 -
如何计算结构体的大小
1.结构体的内存对齐为什么存在内存对齐?大部分的参考资料都是如是说的:平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。总体来说:结构体的内存对齐是拿空间来换取时间的做法。结构体内存对齐的规则:第一个成员在与结构体变量偏移量为0的地址处。其他成员变量要原创 2021-01-18 11:24:25 · 150 阅读 · 0 评论 -
内存函数的模拟实现
1.模拟实现 memcpy函数原函数:void * memcpy ( void * destination, const void * source, size_t num );注意:1.void无法直接进行解引用。2.需要返回结果以便进行下次的使用。*模拟实现:#include<stdio.h>void* my_memcpy(void* dest, const void* sour, size_t num){ char* ch_dest = (char*)dest;原创 2021-01-18 10:56:14 · 51 阅读 · 0 评论 -
用三目运算符取两个数中最小数
用三目运算符取两个数中最小数:c=(a>b)?b:a原创 2021-01-17 11:29:34 · 834 阅读 · 1 评论 -
c语言中如何通过调用函数进行数字的加一
#include<stdio.h>int add(int *a)//注意要取的是地址,而不是数{ ++(*a); }int main(){ int num = 0; for (; num < 100;) { add(&num); printf("%d\n", num); } return 0;}原创 2020-12-17 11:32:00 · 1829 阅读 · 0 评论 -
如何使用函数进行二分查找
#include<stdio.h>int half_find(int *a,int n,int key){ int left = 0; int right = n ; while (left < right) { int mid = (left + right) / 2; if (a[mid] < key) { left = mid + 1; } else if (a[mid] > key) { right = mid;原创 2020-12-17 11:00:04 · 100 阅读 · 0 评论 -
如何通过函数来进行素数筛选
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int pri_num(int num){ for (int i = 2; i < num; ++i) { if (num % i == 0) { return 0; } } return 1;}int main(){ for (int i = 0; i < 100; ++i) { if (pri_num(i))原创 2020-12-16 21:54:31 · 154 阅读 · 0 评论 -
进行比较大小的函数
#define _CRT_SECURE_NO_WARNINGS 1//高版本的VS会对scanf()进行报错#include<stdio.h>void swp(int *px, int *py){ int tmp = *px; *px = *py; *py = tmp; //交换需要给函数的是变量的地址,而不是变量名,那样只是将变量复制了一份,对原变量并没有影响。 //函数内的px,py是形参,主函数的a,b则是实参}int main(){ int a, b,原创 2020-12-16 21:19:02 · 1182 阅读 · 0 评论 -
c语言中的操作符归纳
操作符1.操作符的分类:算数操作符`+ - * / %对于"/"来说,如果两个操作符都为整数,执行整数除法,只要有浮点类型的执行就进行浮点数的除法。%的两个操作数,必须为整数。对负数进行取模相当于对其加模数。2.移位操作符<< >>左移的补零,右移则补符号位。3.位操作符& 按位与| 按位或^ 按位异或0&0=0 0|0=0 0^0=01&0=0 1|0=1 1^0=11&1=1 1|1=1 1^1=0原创 2020-12-15 10:45:20 · 95 阅读 · 0 评论 -
分支与循环语句的总结
第一次写BLOG:分支与循环语句的总结各种分支和循环语句:一、分支语句1.if语句#include<stdio.h>int main(){ if() { } else if() { } else { }return 0;}1只进行一次,执行后跳出循环。2注意悬空else:else会和最近的if配对,而不是按照退格来决定。3只有一个语句可以不用“{}”4if表达式内要用“==”而不是“=”练习:1.判断一个数是否为奇数?#include <原创 2020-12-12 10:33:56 · 270 阅读 · 0 评论