自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实现通讯录

程序的界面是一个简单的菜单,用户通过输入数字选择要进行的操作。所有的操作都在命令行界面中完成,没有图形用户界面。通讯录的管理是通过一个Contact结构体来实现的,它包含了一个PeoInfo类型的数组data,用于存储联系人的信息,以及一个整型变量sz,用于记录当前通讯录中联系人的数量。contact.h文件包含了所有函数的声明和一些宏定义,这些宏定义了如最大联系人数量、各种信息的最大长度等。总的来说,这是一个基本的、命令行的通讯录管理系统,用户可以通过输入命令来管理联系人信息。

2024-04-12 08:00:00 1863

原创 二叉树-堆

树的定义有很多种,根据不同的逻辑结构有不同的定义方法,在这里我们使用的是:左孩子右兄弟表示法。这种表示法简化了树的结构。

2024-05-10 14:04:23 300

原创 用C语言实现栈及其基本操作

在数据结构的世界中,栈(Stack)是一种非常基础且重要的数据结构。它遵循后进先出(Last In First Out, LIFO)的原则。栈在日常生活中也有很多应用,比如我们在计算机中的内存堆栈,以及在数学中的括号匹配等。在本篇博客中,我们将使用C语言来实现一个简单的栈结构,并提供一些基本操作,如初始化、判断空、压栈、出栈和获取栈大小。以上便是我们对栈结构及其基本操作的实现。这个实现使用了动态数组来存储栈内的元素,通过。函数来调整栈的大小。在实际应用中,我们可以根据需要选择其他数据结构或者优化策略。

2024-04-28 16:51:16 383 1

原创 复杂链表的复制(C语言)

请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。

2024-04-25 17:20:43 439 1

原创 环形链表的判断

给你一个链表的头结点判断链表中是否有环,如果有返回TRUE,否则返回FALSE。

2024-04-24 15:08:51 506

原创 链表的分割

定义变量:声明了四个指针变量,分别用于表示小于 x 节点链表的头节点、尾节点,大于等于 x 节点链表的头节点和尾节点。分配头节点:为小于 x 的节点链表分配头节点。遍历链表:通过循环遍历原始链表。节点分类:根据节点值与 x 的大小关系,将节点分类插入到相应的链表中。连接链表:将小于 x 链表的尾节点指向大于等于 x 链表。设置链表尾节点:将大于等于 x 链表的尾节点设置为 NULL。更新原链表头节点:更新原链表的头节点为小于 x 的链表头节点。

2024-04-23 18:49:38 644

原创 统计2的个数

请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数。从L到R依次枚举,再出个分析。

2024-04-18 18:34:13 178

原创 C语言:文件操作

文件是指在磁盘或其他存储媒体上存储数据的一种数据结构。在程序设计中有两种文件:程序文件和数据文件。

2024-04-17 16:40:39 1930

原创 宏定义与文本替换

以下示例展示了如何使用#define#define L1000int main()return 0;1000宏也可以带有参数,这样就可以在宏的使用过程中传入不同的值。使用带参数的宏时,参数通常需要用括号括起来,以避免参数之间的误替换。int a = 2;// 预处理后为 int b = (a + 2) * (a + 2);return 0;int a = 2;// 预处理后为 int b = (a + 2) * (a + 2);return 0;int a = 2;

2024-04-16 19:08:50 1055 1

原创 “深入了解C语言中的输入函数:scanf、fscanf和sscanf“

我们深入了解了 scanf 函数在 C 编程语言中的作用和用法。我们知道,scanf 函数通过格式字符串来指定要读取的数据类型和格式,它可以读取整数、浮点数、字符串等多种数据类型。同时,我们也学习了如何使用 fscanf 和 sscanf 函数来从文件流和字符串中读取格式化输入。将有助于我们在编程过程中更有效地处理用户输入和文件读取操作。

2024-04-15 22:03:08 2122 1

原创 动态内存管理

接下来,我们将介绍几个常用的动态内存函数:malloc , free, calloc, 和 realloc。

2024-04-13 17:20:20 1079 1

原创 结构体中的内存对齐

结构体内存对齐是C语言中一项重要的内存管理特性,它优化了数据的存储和访问效率。在设计数据结构时,应考虑对齐规则,以达到性能和空间的最佳平衡。

2024-04-11 08:00:00 334 1

原创 C语言中的结构体:组织与管理数据的方式》 标签: C语言

1.定义(两种创建变量的方式)struct Snchar c;int i;}s1,s2;这里的 next 指针指向 struct Node 类型的另一个实例,实现了链表节点之间的链接。2.初始化(两种)a.简单结构体struct Snchar c;int i;}s1={'q',100},//这种是按照成员顺序初始化;int main()//s3,s4的初始化可以同上return 0;b.包含结构体的结构体struct Sn。

2024-04-10 08:00:00 526 1

原创 题目名称: 字符串旋转结果

题目名称:字符串旋转结果题目内容:写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。例如: 给定s1=AABCD和s2 = BCDAAC,返回1给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAAAABCD右旋一个字符得到DAABC。

2024-04-09 08:00:00 427 1

原创 字符串左旋

内容:实现一个函数,可以左旋字符串中的k个字符例如:ABCD左旋一个字符串得到:BCDAABCD左旋良个字符串得到:CDAB。

2024-04-08 08:00:00 537

原创 杨氏矩阵中的查找

杨氏矩阵题目内容:有一个数字矩阵,矩阵的每行是从左到右递增的,矩阵从上到下是递增的,请编写一个程序在这样的矩阵中查找某个数字是否存在。

2024-04-07 18:11:12 718

原创 深入理解 strlen 和 strcpy:函数介绍、模拟实现及注意事项

函数功能:将 source 指向的字符串复制到 dest 指向的字符串中。复制过程中会一直复制直到遇到空字符(‘\0’)为止。函数返回 dest 指针,以便可以进行链式调用。

2024-04-03 11:59:33 217 1

原创 深入解析C指针数组:字符串指针的复杂操作与输出解析

1.充分理解指针数组的概念,多个相互关联的指针数组要能画出之间的关系图2.熟悉优先级,根据不同操作符的优先级按顺序进行操作3.会理解并运用转换,如上述题目中的*cpp[-2]等价于 **(cpp-2)4.牢记cpp会因为++、- -操作内部存储会发生变化。

2024-04-02 11:14:39 634 1

原创 深入理解C语言数组:地址、大小与边界

数组名是首元素地址,有两个例外:1.sizeof(数组名),此处sizeof计算的是整个数组的大小,不是首个元素的大小2.&数组名,这里的数组名是指整个数组。

2024-03-31 19:44:25 507 2

原创 数据在内存中的存储

本文主要介绍了整型数据的存储方式、原码、反码和补码的定义及其使用,以及大小端字节序的的概念。此外,还阐述了浮点数在内存中的存储方式,包括单精度浮点数和双精度浮点数的存储结构,以及指数和尾数的计算方法。通过这些知识,读者可以更好地理解计算机系统中数据的存储和表示方式。

2024-03-28 23:18:46 815

原创 用冒泡排序的思想模拟实现qsort函数

qsort 是一个强大的排序函数,它能够对任意类型的数据进行排序。它的原型如下:参数说明:void *base:指向要排序的数组的首地址。size_t num:要排序的元素的数量。size_t width:每个元素的大小(以字节为单位)。int (*compar)(const void *, const void *):比较函数,用于指定排序的规则。这个函数返回以下值:如果第一个参数小于第二个参数,返回一个小于0的值。如果第一个参数等于第二个参数,返回0。

2024-03-27 22:54:55 356 4

空空如也

空空如也

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

TA关注的人

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