- 博客(51)
- 收藏
- 关注
原创 数据结构第一章做题向
1. 可以用____定义一个完整的数据结构A 数据元素 B 数据对象 C 数据关系 D 抽象数据类型答案:D 抽象数据类型ADT(数据对象,数据关系,操作集)2.答案:A 结点内部是一定连续的,但是不同结点之间可以不连续。3. 以下属性逻辑结构的是()A 顺序表 B 哈希表 C有序表 D 单链表答案:C ABD都是既有逻辑结构也有物理结构,A是线性结构,顺序存储结构,B是哈希散列存储结构,D是线性结构,链式存储结构。4.
2024-07-26 21:54:27
513
2
原创 数据结构第一章概述(李春葆)
分析问题,确定数据模型设计相应的算法编写程序,运行并调试程序,直到出现正确的答案在C语言中,不同数据类型在打印时使用不同的占位符,同时它们占用的字节数也有所不同。int%d或%i占用字节数:通常是4字节(具体取决于系统和编译器)float%f占用字节数:4字节double%lf占用字节数:8字节long%ld或%li占用字节数:通常是8字节(具体取决于系统和编译器)char%c占用字节数:1字节所以这里5.2f 的意思是,总宽度为5个字符,小数点后保留两位。
2024-07-19 20:23:43
1332
2
原创 学生成绩管理系统的课程,教师课程以及课程表模块的实现
个业务方法,将请求传到Dao层的TimetableMapper与TimetableServiceImpl,最后通过是实现对数据库的读写操作完成添加更新课程表,获取学生的列表,根据条件获取学生的课程表,获得教师的课程表、更新课程等功能。service中的各个业务方法,将请求传到Dao层的TeacherCourseMapper去执行相应的数据库操作,最后通过是实现对数据库的读写操作完成添加教师课程信息,删除教师课程,更新教师课程,根据教师ID。此功能允许教师查看自己所授课程的详细信息,便于课程管理和教学安排。
2024-06-13 19:24:04
1478
6
原创 数据结构之栈
顺序栈是一种后进先出(LIFO)的数据结构,通过动态数组实现,支持动态扩容和收缩。主要操作包括入栈、出栈、获取栈顶元素和判断栈空,适用于需要快速访问最后存入数据的场合。
2024-05-12 20:17:11
503
3
原创 数据在内存中的存储以及百度笔试题
在内存中可以自定义顺序,但是只有从大到小,或者从小到大最为方便。其中:递增的如11 22 33 44为大端存储递减的如44 33 22 11为小端存储如地址:0x11223344 是十六进制,一位十六进制如1为0001占四个bit空间,11占8个bit空间,所以两个十六进制位占一个字符(8bit)。例如有符号char一个字节8为字符,其中第一位为符号位;无符号unsigned char 是从0-255,有符号是从0-127,-127-(-1)。所以超过127的部分,也等于127。
2024-02-18 20:56:59
1029
2
原创 C++基础入门之引用
int a = 0;int &b = a;int c = 2;b = c;//这里不是改变指向,而是将C的值赋给b这里b是a的别名,b = c 不是将b的指向从a变为c,而是将C的值赋给b。这是因为引用的指向不能改变。
2024-02-09 18:01:28
971
1
原创 C语言函数的栈帧与销毁(面试亮点)
在函数调用之前就将call指令的下一条指令的地址就压栈了,然后再将edp(此时的edp是调用函数的上一条函数如main函数的edp)压栈,这样在pop掉edp时,edp会返回到原edp的位置,由于pop操作,会使esp++,这样esp就会调用call指令的下一条指令的地址,这样就会时函数调用返回,然后返回的值,事先已被寄存器eax临时保存,这样值也会被寄存器带回。在还没有调用函数的时候,就以及将实参的拷贝push压栈到空间里,到调用函数的时候,并没有为形参分配空间,而是使用esp+偏移量,找到实参的拷贝。
2024-02-09 00:41:38
1421
1
原创 编译器的实用调试技巧
一个bug的故事:有说法认为,世界上第一个bug出现在1944年,当时的第一台通用自动计算机塔克一号诞生。在一次维护过程中,一位名叫格蕾丝·霍普的女性程序员发现并解决了计算机中的一个缺陷,这个缺陷是由于一只蛾子飞入计算机内部造成的。她使用了发夹将蛾子夹出,并在管理日志上记录了这次事件。此后,“Bug”这个词就被用来指代计算机程序中的错误。
2024-02-05 21:37:05
1167
原创 考研/计算机二级数据结构刷题之顺序表
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。不要使用额外的数组空间,你必须仅使用。,返回删除后数组的新长度。的元素,并返回移除后数组的新长度。删除重复出现的元素,使每个元素。
2024-02-03 23:04:09
717
原创 考研C语言操作数以及函数刷题基础刷题
1的补码为:1111 1111 1111 1111 1111 1111 1111 1111。-1除2,不够除,所以整数为0;所以我们需要用无符号整形 unsigned int,让-1的每一位都是有效位。用n&(n-1),这样在二进制可以每次都减少一个1,循环了几次就有几个1。如:输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。^异或操作符的意思是,相同为0,相异为1;每一位都与1做与运算,双1为1。因为,int是4字节,字节8位。4.如果循环到最后,如果i=n-1,那么就是素数。
2024-02-02 16:44:02
1240
原创 基于C语言的趣味游戏之五子棋
在用rand之前要先使用srand随机数种子,为了确保随机数种子的唯一性,我们将随机数种子放在test.c文件的main()函数里,确保随机数种子只被调用一次。先写菜单,然后在主函数里调用,由于这是一个可以重复的游戏所以将do while循环里调用menu函数。由于数组的下标是从0开始到n-1的,但是玩家是不会考虑这些的,所以玩。最后在合法的下标下,将玩家输入的下标位置用 ‘ * ’替换空格。当用户在相应的坐标里输入时,就将对应的空格替换成特定的符号。家的输入的下标,应该在要减一才是棋盘的下标。
2024-01-25 02:47:34
1097
原创 考研C语言刷题基础篇之数组(一)
什么是数组名arr数组名其实是地址,而且是首元素的地址但是有两个特例不是首元素的地址sizeof(arr)这里不是首元素的地址,这里是整个数组的大小&arr,对数组取地址,这里不是对首元素取地址,这里是对数组取地址除了这两个特例以外,其他的情况都是首元素的地址数组是数组同样其实也是指针,因此可以用数组接收,也可以用指针接收下面我们用的数组名arr传参,这里arr是首元素的地址。参数传给//也可以用被下面的调用,但是由于arr是首元素的地址。
2024-01-24 23:25:54
875
原创 考研C语言刷题基础篇之分支循环结构基础(二)
首先,是完成一次n=2时的操作 即(n-1)时操作的操作。在加上一步将蓝色放入第三根柱子的操作最后,是将黑红当一个整体,在完成一次n=2即(n-1)时的操作。
2024-01-21 00:41:52
1300
1
原创 考研C语言刷编程题篇之分支循环结构基础篇(一)
printf("%d\n", sizeof(arr) / sizeof(arr[0]) //求数组的元素个数。每一重置sum:1+1+1*2+1+1*2+1*2*3+1+1*2+1*2*3+1*2*3*4。在有序数组1,2,3,4,5,6,7,8,9,10里查找元素。数组的下标是从0开始的,所以right的值应该是数组长度-1;正常求和,1+1*2+1*2*3......
2024-01-16 23:37:26
759
1
原创 leetcode数据结构与算法刷题(三)
快慢指针,一个走一步,一个走两步。用meet记录下他们相遇的点。利用结论L = N*C - X,设置一个指针指向起点,meet指向相遇的点。他们两同时出发,会在环入口出相遇,输出相遇时的点。
2023-11-21 00:48:17
1381
5
原创 数据结构初阶leetcodeOJ题(二)
(1)注意头插是新结点指向头结点,然后在将新节点设置为头结点。而不是直接将新节点设置为头节点(2)C语言赋值语句,左值是变量,将新节点设置为头结点。这是头结点为cur//方法二while(cur!=NULL)//保存下一个cur = next;
2023-11-19 01:37:55
944
1
原创 栈和队列的初始化,插入,删除,销毁。
特点:顺序表,逻辑地址=物理地址。可以任意访问,访问时间复杂度O(1).。实现分配空 间,当空间不足时,要动态扩容。顺序表在销毁时可以直接free,但链表要一 个个删 除。顺序表:适和访问,不适合插入删除,时间负责度为O(N)。由于栈的特性,只能先进先出,尾插头删,不能任意输出,所以我们只能输出头。(2)栈不能任意打印,栈只能访问栈顶。如果你初始化为-1,那就是先++,在插入。(3)栈只能尾插头删。
2023-11-18 19:06:52
514
原创 考研数据结构单链表的增删改查看这一篇就够了
想用形参pphead改变外部指针phead(实参) ,先将实参的地址&plist,传给实参pphead,这时pphead代表的是plist地址(&plist),*pphead解引用所以*pphead代表是plist,这里是要改变SNode*,所以要node**。*p的意思是:是取p所指向内存的值,取多少大小的值,取决于结构体前的数据类型,如int 取四个字节,char取一个字节。如果要改变外部定义的结构指针SLNode*,要用二级指针SLNode**。
2023-11-11 22:33:57
509
1
原创 考研顺序表的初始化、销毁、打印、封装、增删改查代码看这一篇就够了
2.空了的话,先给capacity赋初值为4,不为空则给空间动态扩容两倍。1.先判满了,是否有效个数等于空间总数,如果等于判空间是否为空。用for循环遍历一遍,如果i的值等于x则返回下标i;// 对数据的管理:增删查改。// 顺序表在pos位置插入x。// 顺序表删除pos位置的值。for循环遍历一遍数组,并打印。
2023-11-07 22:07:57
295
2
原创 考研数据结构线性表看这篇就够了之顺序表(一)
在头文件里定义结构体//定义一个数据类型int size;//有效数据//空间容量}SL;函数声明在头文件.h,定义函数在.c文件。
2023-11-03 20:36:45
281
2
原创 C语言,数据结构指针,结构构体操作符 •,->,*的区别,看这篇就够了
在朋友们学习指针和数据结构这一章的时候,对各种操作符云里雾里。当你看到这么文章之后你就会明白了。
2023-11-03 15:11:06
690
原创 C语言初阶刷题OJ
请计算表达式“(-8+22)×a-10+c÷2”,其中,a = 40,c = 212。注意: (-8+22)×a-10+c÷2这是我们的算数表达式。机器语言是不能识别哒,如果改为机器能够识别的操作符要把×改为*,÷改为/
2023-10-22 16:16:00
212
6
原创 Leetcode数据结构初阶OJ题
数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?本题相对书上原题稍作改动[3,0,1]28。
2023-10-22 16:13:43
132
2
原创 计组考研第二章运算电路(五)
n位的加法可以拆解为一位一位的加法、1bit的加法思想:有本位和还有来自低位的进位,如果有本位和如果偶数个一则为0,进一位,然后和来自低位的进位会和本位和比较。如果奇数个一则不进位。本位和:两个输出和来自低位的进位,如果有奇数个一则输出一,偶数个一则输出0本位像高位的进位 :如果两个本位是两个一的话一定会像高位进一,如果本位一个为一,但来 自地位的进位为一那么也进一。
2023-10-17 20:36:37
1064
原创 leetcode 刷题之移除元素
给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
2023-10-16 23:22:22
164
原创 王道考研第二章(2)
由于原码到补码需要反码+1过度。这就导致当反码为【-0】时反码为 11111111,这时反码+1,就会导致位数超过计算机规定的位数8位。注意:真值0补码只有一种表示形式:定点整数的补码【x】补=1,0000000,范围为 -≤ x ≤ 1-。比原码 多表示一个-。此时表示x=定点小数的补码【x】补=1.0000000,范围为 -1≤ x ≤ 1-。(比原码多一个-1)此时x表示 x=-1。
2023-10-14 14:45:54
306
1
原创 考研王道第二章(1)
若x1 = + 0.1101,x2 = -0.1101,字长为8,则原码表示 【x1】= 0.1101000,【x2】= 1.1101000。例如:x1为+1110,x2为-1110 ,字长为8为,所以【x1】原= 0,0001110;真值0有两种表示方式:第一个0与1表示符号,逗号表示符号位与真值的区别。【-0】反码 = 11111111 【-0】原码 = 10000000。若系统分配n+1个bit位,那么符号占一个bit,数值占n个bit,r为基数,每个数码位所用到的不同符号的个数,r进制的基数是r。
2023-10-13 21:40:38
161
原创 计算机组成原理考研第一章(二)
首先预处理,然后编译器将它转换成汇编语言,然后汇编器将汇编语言转换成计算机语言,最后链接器将计算机语言和写程序时引用的各语言的标准库链接成可执行文件。如果A的主频为2hz,cpi为10,B的主频为1hz,cpi为1,那么A一秒只能执行0.2条指令,而B一秒能1G条指令.是将,如我们定义一个PI,PI = 3.1415926,计算机语言不认识PI,所以预处理是将PI还原成3.1415926。是计算机软件和硬件之间的交接面,ISA定义了一台计算机可以执行的所有指令的集合,每条指令规定了计算机执行什么操作。
2023-10-09 16:59:43
348
1
原创 计算机组成原理考研王道全程班第一章
计算机系统=硬件(主机,外设,计算机实体)+软件(程序)软件由(1)系统软件:如操作系统,数据库管理系统(DBMS)等(2)应用软件:如抖音等。
2023-10-08 18:53:17
166
1
原创 C++对于C的加强/以及三目运算符
1.c语言定义结构体变量需要加上struct,c++中不需要2.c语言结构体只能定义成员变量,不能定义成员函数,c++可以定义成员变量,也可以定义成员函数。
2023-10-07 19:20:54
293
1
原创 c++:using的声明和编译指令
让某个命名空间下的标识符都可以直接使用在我们定义变量时可能会定义很多个变量,那么在调用时,就要使用作用域标识符,每调用一次就要写一次很麻烦,所以可以使用using。
2023-10-06 17:31:02
222
1
原创 c++命名空间和作用域
则需要带有命名空间名,在.cpp文件使用myMaker1::func()来访问函数,但是报错,报错的原因是,在写func函数的实现的时候没有写作用域。在这里我们发现在同一个.h头文件里,有两个相同的函数func()但也没有报错,因为命名空间不同。在输出嵌套命名空间全局变量时,使用 外命名空间名+::+内空间名+::+变量名。若有命名空间则使用 命名空间名+::+变量名。::的作用 标识出函数的作用域,如命名空间,全局变量等。所以需要在实现func函数时带上作用域::和命名空间名。在访问时,有就近原则。
2023-10-06 16:54:32
311
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人