- 博客(25)
- 收藏
- 关注
原创 c++构造函数与析构函数
构造函数与析构函数构造函数构造函数与类名相同没有返回值,不写void可以重载当创建对象的时候编译器自动调用默认构造函数没有写构造函数的时候编译器会提供一个无参构造构造函数三种调用方式括号法 A a(2)显示法A a=2;隐式转换法,用explicit可以避免隐式转换法区分无参构造与函数声名A a();这并不是无参构造,而是函数声名,返回值为A类型的 函数名为a的函数。析构函数析构函数名字与类名相同,加~析构函数没有返回值,不写void析构函数没有参数,不能重载
2024-05-14 21:29:38 248
原创 链表实现学生管理系统
如果找到了要删除的节点,将slow->next指向fast->next,这样就从链表中移除了fast指向的节点。如果遍历结束fast为NULL,表示链表中没有找到具有指定ID的学生,打印一条消息说明找不到该学生,并返回。如果找到了匹配的节点,使用strcpy函数将新姓名和新专业复制到该节点的相应字段中,并直接更新年龄字段。如果链表不为空,遍历链表找到最后一个节点,然后将其next指针指向新节点,从而将新节点添加到链表末尾。首先需要定义一个结构体变量 student,其中包括学生的id,姓名,年龄,专业。
2024-04-08 20:39:20 2119
原创 4月6号排序算法(2)
讲堆排序之前我们需要了解几个定义什么叫做最大堆,父亲节点,以及孩子节点将叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。。反过来每个节点都是它父亲的孩子。下面讲一下思路:第一步我们将待排序数组调整成最大堆的形式:父亲节点大于孩子节点(堆结构,父亲节点的下标为i,左孩子节点的下标为2*i+1,右孩子的节点下标为2*i+2)第二步:我们将堆顶元素与待排序数组最后一个元素发生交换第三步:待排序数组数据量减少一个,继续调整成最大堆形式。代码如下时间复杂度:O(nlogn),不稳定。
2024-04-06 21:07:46 701 1
原创 4月5日排序算法总结(1)
利用每趟都确定出一个最大值或者最小值如果需要排一个从小到大的数组,那么我们每一趟都要确定一个最大值放在最后,一共有n个数,我们最多需要排列n-1趟就可以了,我们可以改进自己的代码,利用一个flag标记,最初flag为0,当需要发生交换的时候,flag修改成1,。冒泡的时间复杂度最优的时候为O(n),最差的时候为O(n^2).稳定性:稳定接下来我们写一下代码排序算法都不需要返回值的。
2024-04-05 22:14:43 703 1
原创 3月22日二分法查找
二分查找也叫折半查找,二分查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。普通查找的时间复杂度为O(n),二分查找的时间复杂度仅需要O(log2^n)查找的实现原理:先定左右边界,之后比较待查找元素与中间元素谁大谁小,如果中间值大于目标值,那么右边界等于中间mid-1;如果中间值小于目标值,那么左边界left=mid+1;代码实现注意事项。
2024-03-22 19:38:52 421
原创 3月15日链表的删除
链表节点的删除核心就是:该节点的直接前驱与直接后继相连接(p->next=q->next);我们需要在这里引用快慢指针的思想。快慢指针,顾名思义,在链表中,维持两个指针,跳跃速度不同(A跳一步,B就跳两步)定义一个函数首先我们需要对链表进行判空处理,如果为空我们就返回0,下一步定义两个指针,让他们初始就有一个节点的距离.此题要求删除节点并且返回头结点,如果val值与头结点的val值相同,我们需要将头结点删除,进行额外处理。
2024-03-15 22:12:06 406 1
原创 3月4日一维数组
争夺前五名。从键盘输入 n 个学生成绩,输出每组排在前五高的成绩。数据范围: 5≤n≤50 ,成绩采取百分制并不会出现负数。
2024-03-04 22:23:19 307 1
原创 C语言1月31日
/8. 若现在需要将很多个整形数据输入到数组当中 int a[100];//7. 若需要对字符串进行输入的操作,那么这个字符串只能用什么结构来实现存储的操作(函数内)char*a[10]:包含10个元素且每个元素是char类型的指针数组。char(*b)[10]:数组指针存的是char类型的数组的地址。//4.要想实现字符串的拼接 需要满足那些要求才可以。//那么这个过程应该如何完成 写出具体的语句。//9. 写出实现数组元素访问的等式。
2024-02-01 17:27:15 449 1
原创 C语言1月20日
指针所占大小与编译环境有关x86 4字节 x64 8字节数组所占大小与元素个数和类型有关随机函数头文件 #include <stdlib.h>10进制——D;16进制——H;2进制——B;8进制——0;减少二进制下一个一功能的句子,n&(n-1);
2024-01-21 18:03:54 387
原创 C语言1月19日函数
函数不能同名会发生指代不明,但是在c++环境下可以函数重名通过函数实现两个元素交换 ,址传递值传递,只传递了变量的值,不会对原数据进行修改址传递,对原数据进行了修改当数组作为函数参数时,会退化成指针。int*a==int a[ ],首元素地址。
2024-01-19 22:13:27 406 1
原创 C语言1月17日数组
n×m矩阵大部分元素是00的矩阵称为稀疏矩阵,假设有k个非00元素,则可把稀疏矩阵用K×3的矩阵简记之,其中第一列是行号,第二列是列号,第三列是该行、该列下的非元素的值。
2024-01-17 18:37:32 334
原创 C语言基础规律题
第四天涨1元(1),第五天涨1元(1),第六天跌1元(-1),第七天涨1元(1),第八天涨1元(1),第九天涨1元(1),第十天跌1元(-1)...求N天后的股票剩余价格。股神:假设买入1元股票,股票的变化规律是第一天不变(0),第二天涨1元(1),第三天跌1元(-1),思路:假设每一天都在涨,涨和跌的之间差值为2,设N天,有X跌,剩余价格为N-2*x;有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。
2024-01-14 22:50:18 1196
原创 C语言1月14日
指针大小与类型无关,只取决当前的编译环境。(32位对应4字节,64位对应8字节)指针变量中放的是谁的是谁的地址,*指针变量就是谁。switch(条件整型变量或整型结果)if else 两个对立只满足一个。break直接跳出switch结构。default无匹配分支之后跳转。按位异或(相同为0,不同为1)if else if很多个条件。输入两个整数,输出较大的值。按位与&(同时为1时为1)按位或|(同时为0时为0)
2024-01-14 22:12:08 369 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人