- 博客(47)
- 收藏
- 关注
原创 (搞定)排序数据结构(1)插入排序 选择排序+冒泡排序
说到排序,其实在我们生活中非常常见,比如当我们需要在网上买东西的时候, 我们可以按照价格排序,也可以按照销量进行排序,所以对于我们来说学习排序这个数据结构是非常重要的,在本文中,我会尽可能按照我的理解将目录中的排序给将清楚。思路 :假设我们要插入第n个数,我们需要保证前n-1个数有序,然后再进行插入,没插入一个数我们就要将该数前面的数与要插入的数经行比较,如果大于这个要插入的数那我们就将他玩后面进行移动就可以了。排序我们在上面的插入排序中不难发现,当数组有序的时候,我们的插入排序的。
2023-09-25 11:26:11 577 27
原创 数据结构之-----二叉树
其实在我们电脑中经常会使用到树这个数据结构,比如我们的磁盘放置文件的结构就是这样的。在实际中有许许多多的方法可以用来表示树的结构,我们来介绍一种非常牛逼的方法,叫做孩子兄弟法。子孙:在某一棵树中,选定根节点之后所有的其它节点都是该节点的子孙。结构 ,与我们前面所学的顺序表与链表不同,数据元素的对应是1对多的关系,只有一个根结点,且。双亲结点或父节点:结点的前驱结点曾为它的父节点或双亲结点。结点的祖先:从根到该节点所经分支上的所有节点。,看成这样的结构的时候我们有利于采用分治的思想解决二叉树的有关问题。
2023-09-15 19:56:23 267 10
原创 (超详解)--->自定义类型(结构体,枚举,联合)
结构:结构是一些值的集合,这些值指的是成员变量。结构体的成员变量可以是不同类型的变量。结构的声明-->tag:是可以自己起名字。member_list:结构体的成员变量的类型声明。variable_list:结构体变量可以在此定义。如果将tag去掉的话,那么此结构体是一个特殊的声明也称结构体的不完全声明,定义变量的时候只能在variable-list此处定义。struct tag才叫结构体的定义类型。如果定义两个匿名结构体类型的话,尽管他们的成员变量相同。
2023-07-14 09:20:57 135 5
原创 超详解内存函数(memcpy,memmove,memcmp),及其模拟实现
思路:因为要实现任意类型的num个字节的拷贝,所以我们需要将函数参数设置为void*的指针,然后利用循环来拷贝num个字节的内容,将dest与src指针强制类型转化为char*的指针,然后给dest所指向的指针赋值,然后一次循环过后dest+1,又因为dest指针是void*类型的指针所以不能直接进行+1,所以因该先将其转化为char*类型的指针在+1.作用:比较两指针前num个字节处内容的asc码值,如果前面大于后面则返回大于0的数,如果等于则返回0,小于则返回小于0的数。3 和4 的地方的值被覆盖。
2023-07-13 08:36:16 674 2
原创 指针-->笔试题(必备)
cpp[-1]代表的是*(cpp-1),也就是c+2,cpp[-1][-1]则代表*(c+2-1),所以得到的是'N'的地址+1,则代表得到的是'E'的地址。首先cpp是c+3的地址,+1则代表c+2的地址,*(c+2)得到的是point地址的地址**(c+2)则代表得到的是point的地址,所以打印为point。此时的++cpp代表的是c+1的地址,*(cpp)得到的是c+1,--得到的是c,再解引用得到的是字符串enter首元素的地址,+3的道德是'E'的地址。unsigned int*是无符号整形。
2023-07-09 21:38:42 224 8
原创 详解------>数组笔试题(必备知识)
首先在进行这些习题讲解之前我们需要知道的知识点sizeof:是一个关键字,可以变量,数据类型,函数所占空间的,单位是字节,计算的时候只关心数据类型。strlen:是一个标准库函数,头文件是 ,是用来计算字符串\0前面的字符的个数,strlen(数组名)。还有对于数组名的理解:除了2种情况下数组名就是首元素的地址,1:单独使用sizeof(数组名),这里的数组名指的是整个数组。,这里的数组名代表的是整个数组,所以。
2023-07-08 16:46:55 203 6
原创 数据结构之 时间复杂度与空间复杂度
1:什么是时间复杂度与空间复杂度首先对于我们所写的程序来说,为了评估一个算法的好与坏我们需要通过该程序的时间与空间的复杂度来比较,这里的比较是在程序正确的情况下来比较的,时间复杂度:简而言之就是这个算法所运行时需要多少时间,我们采用的是渐进时间复杂度,时间复杂度越低,则在相对情况下该程序好。记作:T(n) = O(f(n)).空间复杂度: 空间复杂度 =算法本身所需要的空间+算法的辅助空间。
2023-07-01 12:20:10 407 1
原创 c语言之指针初阶
在32位机器下,我们知道有32根高低电平线,1/0(高电平,低电平),这32个地址线,最多能产生2^32个地址,其大小就为2^32Byte的大小等于4GB,所以在32位机器下,我们的指针只能管理4GB的内存,在64位机器下,指针能管理8GB的内存,所以指针的大小分别为4个字节,与8个字节的大小。指针变量顾名思义,是用来存放指针的,他是一个地址,我们可以通过一个数的地址,来找到地址里面的内容,下面我们通过具体的代码来讲解:>顾名思义野指针就是指指针所指向的地方是非法的,不能够使用的,是未经允许操作的。
2023-05-18 21:17:04 55
原创 c语言之操作符详解2
2:函数调用操作符(),本质上就是用一对括号()来表示,比如说strlen(”abcd“),这里的括号,就是函数调用操作符,且函数调用的操作数,只要把它的()去掉就行,及操作数为strlen。1:下标引用操作符[],这个操作符在使用数组的时候会经常使用,且具体的列子我们也在之前讲过了,在这里就不重复了,但要注意的一点是在使用下标引用操作符的时候,我们一定不能越界使用。为了获得这个精度,表达式中的。还有一种理解方式为,如果表达式1成立,表达式2就执行,否则表达式3执行,这里我们举具体的列子:>
2023-05-13 21:43:06 90 6
原创 c语言之操作符详解(1)
我们来讲一下/(除法操作符)除法操作符:1整数除法 2小数除法整数除法:顾名思义就是两个整数相除,这样会导致所得出来的结果也是整数,不管我们是不是用实数类型来接收,还有被除数不能为0,即分母不能为0.下面就让我们来看看具体的列子>:在这里我们不难看到,使用整数相除时,我们得到的答案还会是整数,尽管我们可能用实型变量来接收。2. 浮点数除法:>这种类型的除法我们,可以在/号两边给其中的一个除数或者是被除数有一个除数是浮点型就行,比如说:>
2023-05-11 21:09:03 105 2
原创 C语言之扫雷小游戏
1:首先和三子棋一样,我们一进来就打印菜单,并且还让玩家选,看玩还是不玩2:我们对扫雷游戏来进行分析,可以很容易发现,扫雷游戏与三子棋的本质都是由数组构成,所以我们就要创建数组来存放雷。
2023-05-09 21:07:45 86 4
原创 本章将学习以下知识点:1:二维数组的创建与初始化. 2二维数组的使用. 3 二维数组在内存中的存储. 4数组越界. 5数组作为函数的参数
欢迎大家观看!
2023-05-07 17:42:38 96 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人