- 博客(17)
- 收藏
- 关注
原创 经典问题解答(顺序表)
给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。函数应该返回新的长度, 并且 nums中的前两个元素均为。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。
2024-04-13 16:45:58
697
12
原创 数据结构——通讯录(顺序表的实战项目)
/通讯录头文件//定义联系人数据结构//名字 性别 年龄 电话 地址int age;}peoInfo;
2024-04-13 11:41:54
902
8
原创 走进——“结构体”
位段的声明和结构是类似的,有两个不同:1. 位段的成员必须是 int、unsigned int 或signed int ,在C99中位段成员的类型也可以 选择其他类型。2. 位段的成员名后边有⼀个冒号和⼀个数字。int _b : 5;这里A就是一个位段类型,冒号后面是表示只占用的比特数,一共是47个比特位,1字节等于8比特,这里我们就可以只用8个字节就能存放A,所以位段就是用来节省空间的。
2024-03-28 23:29:28
1092
5
原创 C语言--qsort函数理解
这里我们可以通过创建结构体变量name,age 来这里我们就可以通过qsort函数来比较这两个函数,与上面同理,不过需要注意的是strcmp(((struct Stu*)p1)->name, ((struct Stu*)p2)->name)这里的strcmp是用来比较两个字符串的ASCII值的当p1>p2时返回正数,p1
2024-03-15 00:05:43
331
1
原创 C语言——关于“异或”问题的理解
本题解题思路:首先我们应该明白每个数的二进制数都有32位,本题实际求解的是这两个数32位中不同的个数,这时我们应该联想到要求不同的两个数这时我们就会想到异或:相同为零,不同为一,先把这两个数进行异或,然后得到的这个数的二进制中1的个数就是这两个数二进制中不同位的个数。:这两个案例都充分利用了异或:相同为0,不同为一这个原理。案例一:在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字。总结:本题充分利用异或原理即可轻松解决。案例2:求两个数二进制中不同位的个数。
2024-02-25 17:57:52
361
1
原创 C语言——数组冒泡排序算法
void converse(int a[ ],int n)进行调用,void converse里面运用for循环进行排序这样来比较第一个数与第二个数的大小如果a[0]
2023-12-03 15:37:00
526
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人