- 博客(5)
- 收藏
- 关注
原创 【数据结构笔记】将两个递增的有序链表合并为一个递增的有序链表
将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。[题目分析]合并后的新表用头指针Lc指向,pa和pb分别是链表La和Lb的工作指针,初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表La和Lb均为到达表尾结点时,依次摘取其中较小者重新链接在Lc表的最后。如果两个表中的元素相等,只摘取La表中的元素,删除Lb表中的元素,这样确保合并后表中无重复的元素。当一个表到达表尾结点为空时,将非空表的剩余元素直
2022-01-19 10:04:19
12520
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
215
原创 【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
577
原创 【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
990
原创 【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
692
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人