- 博客(5)
- 收藏
- 关注
原创 【数据结构笔记】将两个递增的有序链表合并为一个递增的有序链表
将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。 [题目分析] 合并后的新表用头指针Lc指向,pa和pb分别是链表La和Lb的工作指针,初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表La和Lb均为到达表尾结点时,依次摘取其中较小者重新链接在Lc表的最后。如果两个表中的元素相等,只摘取La表中的元素,删除Lb表中的元素,这样确保合并后表中无重复的元素。当一个表到达表尾结点为空时,将非空表的剩余元素直
2022-01-19 10:04:19
12540
3
原创 【C语言笔记】冒泡排序
/* 冒泡排序 */ #include <stdio.h> void bubble_sort(int arr[], int sz) { // 确定趟数 int i = 0; for (i = 0; i < sz - 1; i++) { // 一趟冒泡排序的过程 int j = 0; for (j = 0; j < sz - 1 - i; j++) { if
2022-01-19 09:34:58
230
原创 【C语言笔记】数组指针和指针数组的区别
对指针数组和数组指针的概念,相信很多人都会混淆。下面通过两个简单的语句来分析一下二者之间的区别,示例代码如下所示: int *p1[5]; int (*p2)[5]; 首先,对于语句 " int *p1[5]",因为"[ ]“的优先级要比” * “要高,所以p1先与”[ ]"结合,构成一个数组的定义,数组名为p1,而"int *"修饰的是数组的内容,即数组的每个元素。也就是说,该数组包含5个指向int类型数据的指针,如图1所示,因此,它是一个指针数组。 图1 其次,对于语句"int(*p
2021-12-20 17:01:35
586
原创 【C语言笔记】水仙花数
/* 求出100~999之间的所有“水仙花数”并输出 “水仙花数”是指一个n位数,其各位数字的n次方之和等于该数本身 例如:153=1^3 + 5^3 + 3^3,则153是一个“水仙花数” */ #include <stdio.h> #include <math.h> int main() { int i = 0; for (i = 100; i <= 999; i++) { // 1. 计算i的位数 - n
2021-12-20 16:03:01
1001
原创 【C语言笔记】有关sizeof返回无符号整型的一个很坑的题目
有关sizeof返回无符号整型的一个很坑的题目 #include <stdio.h> int i; int main() { i--; if (i > sizeof(i)) { printf(">\n"); } else { printf("<\n"); } return 0; } A. > B. < C. 不输出 D. 程序有问题 按道理来说i为初始化默认为0;i–
2021-12-20 14:29:23
704
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人