自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 C数据结构:排序

拙作一篇,望诸位同道不吝斧正。

2025-08-31 16:32:20 669

原创 C数据结构:二叉树(下)

我们先创建一个如下图所示的二叉树。

2025-08-25 12:09:36 1410

原创 C数据结构:二叉树(上)

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。树有一个特殊的节点,称为根节点,根结点没有前驱节点。如图A节点为根节点。节点的度:一个节点含有的子树的个数,如A的度为3。叶:度为0的节点。如图J、F、K、L、H、I。父节点:含有子节点的节点。如A为B的父节点。子节点:B为A的子节点。树的高度:树中节点最大层次。

2025-08-20 18:11:42 1521

原创 C数据结构:队列

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,具有的特点。入队列:在队尾一端进行插入数据操作。出队列:在队头一端进行删除数据操作。

2025-08-18 09:30:00 1181

原创 C数据结构:栈

是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为,另一端称为。栈中的数据元素遵守的原则。

2025-08-14 09:30:00 922

原创 C语言:链表经典题

给单链表的头节点head,返回反转后的链表,节点数目为[0,500]。输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]反转链表的关键就是,让第一个节点的next指针指向NULL,再让第二个节点next指针指向第一个节点,直到尾节点的next指针由指向NULL变为指向倒数第二个节点。

2025-08-13 09:45:00 1320

原创 C语言:详解双向链表

双向链表是带头双向循环链表。双向链表的节点由3个部分组成,分别是数据、指向下一节点的指针next、指向上一节点指针prev。对于单链表,指向第一个节点的指针phead为NULL时,链表为空;对于双向链表,链表只有一个头节点时,为空链表,此时phead->next指向phead,phead->prev指向phead。

2025-08-02 09:00:00 1408

原创 C语言:详解单链表与例题

链表根据带头或不带头、单向或双向、循环或不循环分类为8种,最常用的是单链表和双向链表,单链表是链表。链表由节点组成,节点分为两部分,数据和指向下一节点的指针。链表示意图如下:创建头文件SList.h,包含stdio.h、stdlib.h、assert.h,在文件中定义节点结构,声明函数打印链表、尾/头插、尾/头删、查找、定位前插入、定位后插入、删除pos节点、删除pos后节点、销毁链表。创建SList.c文件,在文件中编写函数。打印链表:定义一个指针pcur指向链表首节点,遍历并打印。

2025-07-31 09:30:00 1323

原创 C语言:顺序表(下)

在通过动态顺序表实现通讯录之前,我们仍需要上期的SeqList.h、SeqList.c文件通讯录要保存联系人的姓名、性别、年龄、电话、住址等信息,同时要编写函数实现增加联系人信息、删除指定联系人、查找指定联系人、修改指定联系人、显示联系人信息。创建头文件Contact.h,进行函数声明,将联系人结构体定义在此文件中,并重命名为peoInfo,为了名称一致,把SeqList.h文件中定义的结构体SeqList重命名为Contact。201020100。

2025-07-28 09:30:00 1361

原创 C语言:顺序表(上)

线性表是n个具有相同特性的数据元素的有限序列。、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以和的形式存储。顺序表的是数组,对数组的封装,实现了常用的增删改查等接口。顺序表分为两类:静态顺序表:使用定长数组存储元素。容易出现空间不够用、空间浪费的问题。动态顺序表:空间可以按需申请。接下来以动态顺序表为例,编程实现顺序表。

2025-07-27 20:29:05 1083 1

原创 C语言:详解文件操作

上面说的适用于所有输入流一般指适用于标准输入流和其他输入流(如文件输入流);所有输出流一般指适用于标准输出流和其他输出流(如文件输出流)。

2025-07-24 09:30:00 1519

原创 C语言动态内存管理

C语言引入了动态内存开辟,程序员可以通过malloc、calloc、realloc、free来灵活地申请和释放空间。malloc函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。在上述代码中,我们通过malloc函数开辟了20个字节的空间,并返回一个指向该空间起始地址的整型指针p,用for循环访问和使用这段空间。但是,这段代码还缺少释放这段空间,而free函数能够释放开辟的空间。

2025-07-22 14:34:31 1075

原创 C语言自定义类型:联合体和枚举

像结构体一样,联合体也是由一个或者多个成员构成,这些成员可以是不同的类型。联合体的特点是所有成员共用同一块内存空间,编译器只为最大的成员分配足够的内存空间,所以联合体又叫“共用体”。

2025-07-21 18:04:24 1204

原创 C语言自定义类型:结构体

结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。

2025-07-20 09:30:00 1316

原创 C语言内存函数

因为参数n表示的是字节,所以如果要把arr1中的内容拷贝到arr2,就要36个字节,arr1的元素个数为len1,每个元素都是int类型,即36个字节也可表示为len1*sizeof(int)。这是src从前往后拷贝,如果src、dest都从后开始,src拷贝到dest,即5拷贝到7,4拷贝到6,3拷贝到5…所以,memset函数要慎用。例如:将arr[]={1,2,3,4,5,6,7,8,9,10}中的后3个元素拷贝到前3个元素。再例如,处理重叠,把“3,4,5,6,7”换为“1,2,3,4,5”。

2025-07-18 21:03:04 1249

原创 C语言字符函数和字符串函数

字符分类函数能判断一个字符是属于什么字符。使用这些函数需包含头文件。例如,islower函数能判断一个字母是否为小写字母,若是小写字母则返回非零整数,若不是则返回0。参数c是int类型,但也可以输入字符,会自动转为ASCII码值。示例:写⼀个代码,将字符串中的小写字母转大写,其他字符不变。其他字符分类函数都与islower相似,可以参照islower使用。

2025-07-17 16:35:01 1082

原创 C语言指针(4):qsort函数

回调函数是指通过函数指针调用的函数。定义一个返回类型为void类型的函数calc,其参数是一个函数指针。当我们想在switch语句中调用Add、Sub、Mul、Div函数时,只要把函数名作为参数输入calc函数中,即可完成调用。

2025-07-14 16:22:33 1554

原创 C语言指针(3)

整型指针变量的类型是int*类型,字符指针变量的类型即是char*,字符指针变量保存的是字符型数据的地址。我们可以设一个字符指针变量,把一个字符串赋给字符指针变量,这里本质上是把字符串首元素的地址赋给了指针变量。这里就是将字符串“abcefg”中的首元素’a’的地址存放到字符指针变量str中。同时,这里的字符串属于,它有一个特点可以从下面的代码中看出来。

2025-07-13 09:17:51 1097

原创 C语言指针(2)

上期提到,可以看到,arr、&arr[0]、&arr的值都是一样的,区别是arr、&arr[0]加1后都移动4个字节,而&arr加1后移动40个字节,这是因为&arr是整个数组的地址,&arr加1后就跳过了一个数组的长度。

2025-07-12 09:21:02 1067

原创 C语言指针(1)

计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中。内存划分为⼀个个内存单元,每个内存单元的大小取一个字节。我们可以把每个内存单元当成一个房间,而每个内存单元都有⼀个编号,这个编号就相当于房间的⻔牌号。我们根据门牌号找房间,所以门牌号就是房间的,同样地,内存单元的编号就是查找内存单元的地址,C语言中把地址称为。所以,。地址在计算机上用16进制表示,规定16进制数要以0x开头。

2025-07-11 14:51:28 1059

原创 C语言分支和循环语句(下) :猜数字游戏的实现

本期,我们学习了如何生成随机数和怎样实现猜数字游戏,综合运用了C语言的if语句,switch语句,while语句,do…while语句。在日后写代码时,我们要灵活使用C语言分支和循环语句,多练习,多实践。拙作一篇,望诸位同道不吝斧正。

2025-07-05 14:48:44 1086

原创 C语言分支和循环语句(中)

其中,表达式即为, 语句即为。当表达式为真时,执行循环体,然后再判断表达式是否为真,若为真,则执行循环体,若为假,循环结束。如此不断循环,直到表达式为假时,循环结束。。例如:在屏幕上打印1~10。在这段代码中,i为1,条件表达式为真,开始循环。随着循环的进行,i不断加1,最终i大于10,即i<=10为假,循环结束。

2025-07-03 11:16:42 1170

原创 C语言分支和循环语句(上)

在学习C语言分支和循环语句之前,我们先来学习关系操作符、逻辑操作符、条件操作符。

2025-07-02 14:06:52 1049

原创 非科班学生的第一篇博客

我相信有不少人和我一样是非科班的,高考失利了,转专业失败了,跟不上学习进度了…平凡深渊是深不见底的,我们都是其中的小人物,哭是没有用的,喊也是没人听的,我们只有坚持,平常风吹垮不了我们的意志,凡俗尘掩埋不了我们的壮志,我们将用心血浇灌成就之树,用坚持搭建攀登之梯,逃出平凡深渊,在计算机领域做出一份属于我们自己的事业。折戟沉沙志不销,韬光养晦蓄锋芒。待到功成出庐日,卷土重来再争王。亭长破楚开汉世,谁料乞儿复中华。草莽英雄起微末,且看天意幸谁家。

2025-06-23 22:21:49 430 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除