- 博客(21)
- 问答 (1)
- 收藏
- 关注
原创 类中指向指针的指针
例如,你可能有一个函数需要接收一个指向指针的指针,以便它能够修改这个指针(即,让它指向一个新的对象或数组)。但是,这样的声明通常不会直接用来定义一个指向对象的指针数组。最后,我们遍历数组来访问对象,并在结束时释放所有分配的内存。首先被声明为一个指向指针的指针。是一个指向指针的指针,其中这个指针指向的是。操作符来分配一个包含5个。来动态地分配一个指向。
2024-05-24 20:27:21
294
3
原创 类的数组,数组指针,指针数组
在C++中,类的数组、类的数组指针和类的指针数组是三种不同的数据结构,它们各自有不同的用途和特性。下面我将分别给出它们的示例和说明。
2024-05-24 20:26:14
659
1
原创 两个类之间的组合关系
- `Family` 类还有一个 `introduceMembers` 方法,用于遍历数组并调用每个 `Person` 对象的 `introduce` 方法。- `Family` 类有一个指向 `Person` 对象的指针数组 `members_`,以及一个表示数组大小的整数 `size_`。- `Family` 类有一个 `addMember` 方法,用于在数组的指定索引处创建一个新的 `Person` 对象。// 另一个类,比如一个Family类,它包含了一个Person类的数组。
2024-05-24 17:02:11
369
1
原创 数楼梯C语言
因此,走n个台阶的方法数等于走n-1个台阶的方法数与走n-2个台阶的方法数之和。这个关系式可以写成f(n)=f(n−1)+f(n−2),其中f(n)表示走n个台阶的方法数。然后,我们可以使用循环来计算f(3)、f(4)、f(5)等等,直到计算出f(n)为止。每次循环中,我们需要将上一次计算得到的两个结果(即f(n-1)和f(n-2))相加,得到本次循环的计算结果。最后,我们返回f(n)即可。对于只有1个台阶和2个台阶的情况,走法是确定的:走1个台阶只有1种方法,走2个台阶有2种方法。
2023-12-11 10:43:30
477
原创 链表实现多项式加法C语言
在add函数解决了上次没有理解的一个问题,上次采用尾插法,不能用r=p这个语句更改r的指针,因为在C语言中,函数参数是按值传递的,这意味着当你将一个指针传递给函数时,函数内部操作的是指针的副本,而不是原始指针本身。指针本身就是一个地址,也是一个值,这和传入一个整数,在子函数改变整数的值无法对原函数的值产生影响是一样的。思路还是没有变,只不过所有的插入都换成头插法,这样就能实现降幂,在比较的时候还是要从最高次幂比起。和上次写的题目类似,不过这个是在头歌上的题目,采用升幂排序,和头插法;
2023-12-10 21:34:07
127
1
原创 把字符串中的数字转成整型C语言
以上两种方法都可以将字符数组中的数字转换为整型。注意,如果字符数组中包含非数字字符,这些函数只会转换数字部分,并忽略后面的非数字字符。也是一个标准库函数,可以根据指定的格式从字符串中读取数据。函数将字符数组中的数字转换成整型。是一个标准库函数,可以将字符串转换为整数。在C语言中,你可以使用。
2023-12-10 17:19:12
2976
1
原创 字母偏移C语言
输入一串字符,以n为偏移量,输出偏移后字符串。字母本来可以通过a+n,实现偏移,但是会有超出字母范围的情况,要处理的就是这种情况。#include <stdio.h>#include <stdlib.h>int main(){char a[60];int n,num;scanf("%d%s",&n,a); int i; n=n%26;//偏移量在26以内,超过26就取26的余数 for(i=0;a[i]!='\0';i++) { a[i
2023-12-10 14:39:00
321
1
原创 链表实现多项式加法C语言
引入两个指针q,p来遍历多项式,对比他们的指数,如果相等,则把他们的系数相加放进新的多项式;所以head是空的,如果返回head,输出的时候会有问题,所以要跳过空节点,返回head->每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最高幂,最后一行一定是0次幂。如果不相等,把幂次大的放进去,这个数据处理完了,所以这个数据的指针后移,直到两个多项式中至少一个已经遍历完了。现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。
2023-12-03 17:43:30
139
1
原创 对链表实现插入排序C语言
思路:插入排序就是从第一个数开始排,第一个数就是有序的,后面第二个数和他比较,如果比他大,这两个数就是有序序列,往下遍历,如果比他小则从有序序列的头开始遍历,找到他的位置,插入。在链表中为了实现这个排序,需要两个指针,一个指针p指向当前需要排的数,一个指针r作为他的前继,p与r比较,如果有序,p和r都直接往下遍历;这里引入了一个虚拟结点q插在链表的表头,这样可以通过q的下一个结点的值与p进行比较,找到位置之后p可以直接插在p>next,这样就不需要再引入一个前继指针来找位置了。
2023-12-03 13:10:15
894
1
原创 用链表生成法雷序列C语言
然后在链表中找该分数的位置,使用辅助指针,从链表头开始遍历,如果大于此时的数则往下走,如果小于则放这个数前面。生成分数用双重循环,分母从2到n,分子从1到i-1;生成的分数要判断能不能约分,如果不能约分则放进链表;n阶法雷序列是把所有不可约分的分数j/i(0<i≤n;0≤j≤i)递增排序的序列。用链表实现,基本思路,先把0/1,1/1插入链表的头和尾。如3阶法雷序列0/1 1/3 1/2 2/3 1/1。
2023-11-30 17:48:36
760
原创 字符串转换C语言
输入:AbCDefG, Hijklmn OPq …XYZ 输出:ZbXWefT, Sijklmn LKq …输入:ABCD 输出:ZYXW。编写程序,将字符串中的所有大写英文字母按以下对应规则替换。在一行中输出替换完成后的字符串。个字符、并以回车结束的字符串。在一行中输入一个不超过。
2023-11-28 11:00:52
313
1
原创 删除数组中的重复元素C语言
/当第一个数与最后一个相等的时候没办法覆盖掉,但是也会执行x--,所以最后一个数就被丢掉了;k++)//用后面的覆盖前面的就会删除掉那个重复的数,for(j=i+1;j++)//从第一个数开始检索,如果相同则进行删除。
2023-10-29 19:38:35
3540
空空如也
链表如何实现冒泡排序
2023-12-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人