吃顿外卖的时间带你解决单链表问题吃顿外卖的时间带你解决单链表问题
一.链表的定义
概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链 接次序实现的,相当于一个一个的结点链接在一起就构成了链表.如下图所示.
无头单向非循环链表:结构简单,一般...[2022/1/17]
C语言程序设计100例之(46):巧妙称重C语言程序设计100例之(46):巧妙称重
例46 巧妙称重
题目描述
有N个篮子,编号1~N,篮子中有很多金币,每个重w。但是有一个编号的篮子中,每个金币重d。现从第一个篮子中拿1个金币,第二个篮子中拿2个,…,第N-1中拿N-1个,第N中不拿,给出这些金币的总重量wei,问:是第几个篮子中的金币重量较轻?
输入格式
...[2022/1/17]
C语言程序设计100例之(47):车站
例47 车站
题目描述
火车从始发站(称为第 1 站)开出,在始发站上车的人数为 a,然后到达第 2 站,在第 2 站有人上、下车,但上、下车的人数相同,因此在第 2 站开出时(即在到达第 3 站之前)车上的人数保持为 a 人。从第 3 站起(包括第 3 站)上、下车的人数有一定规...[2022/1/17]
C语言程序设计100例之(48):钢管加工C语言程序设计100例之(48):钢管加工
例48 钢管加工
问题描述
有N根钢管,每根长度是ai。有一个钢管加工器,每秒钟可以加工k长度的钢管。工人师傅需要按顺序加工这些钢管。
不过呢,机器的最大等待长度是h,即等待加工(已经塞入机器却还没有加工的钢管)的钢管长度不能超过h(保证ai <= h)。
加工工人只能在...[2022/1/17]
C语言程序设计100例之(49):序列变换
例49 序列变换
问题描述
下面探讨由数字0和1构成的序列。初始时,序列中只有一个数字1。之后对序列进行变换,在每次变换时,同时将序列中的每个数字0转换为10,将每个数字1转换为01。因此,在第1次变换后,得到序列01;第2次变换后,得到序列1001;第3次变换后,得到...[2022/1/17]
C语言程序设计100例之(51):第n个回文数
例51 第n个回文数
问题描述
回文是向前和向后读相同的单词、数字或短语。例如,“anna”是一个回文。数字也可以是回文(例如151或753357)。此外,数字可以按大小排序。前几个回文数字是:1,2,3,4,5,6,7,8,9,11,22,33,…。
数字10不是回文(即使您可...[2022/1/17]
C语言关键字之auto register详解
目录一:auto作用域生命周期auto二:register总结: 一:auto
在学习关键字auto之前我们需要先了解两个概念:作用域和生命周期。
作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用
的 而限定这个名字的可用性的代码范围...[2022/1/17]
C语言教程之数组详解
目录1.一维数组的创建和初始化1.1数组的创建1.2数组的初始化1.3一维数组的使用1.4 一维数组在内存中的存储2.二维数组的创建和初始化2.1二维数组的创建2.2二维数组的初始化2.3二维数组的使用2.4二维数组在内存中的存储3. 数组越界4. 数组作为函数参数4.1 冒泡排序函数的错误设计4....[2022/1/17]
C语言实现猜数字小项目
学习完c语言循环、选择内容,我们对c语言有个初步的认识了,让我们来实现一个小项目吧!!!
1.猜数字小项目分析:
我们利用c语言制造出随机数来猜,在只知道范围的前提下我们无非有以下三种可能,猜大了、猜小了、猜对了。如果猜错了我们让玩家继续猜直到猜对为止,若猜对了给出选择是否继续玩哈!!!
...[2022/1/17]
C语言代码实现猜数字游戏
目录前言:一:猜数字游戏基本介绍&对程序预期二:程序设计思路1.总体思路:2.菜单部分函数:3.游戏部分函数4.主函数部分5.代码主体三:总结 前言:
本文主要讲解以c语言编写猜数字游戏,目的是介绍C语言中的循环和分支的具体用法。
一:猜数字游戏基本介绍&对程序预期
.猜...[2022/1/17]
c语言static关键字用法详解c语言static关键字用法详解
目录1.static修饰全局变量2.static修饰函数3.static修饰局部变量总结: 1.static修饰全局变量
我们创建两个源文件,一个test.c,一个main.c
现在我们在test.c文件下定义一个全局变量
int g_val = 100;
我们在main.c下...[2022/1/17]
C语言 map函数的基础用法详解
目录mapmap具体操作总结 map
有N个学生的姓名name和学号ID,要求给你一个学生的name求查找他的ID。
简单做法是定义 string name [ N ] 和 int ID[ N ] 存储信息,然后在name [ ] 中查找这个学生,找到后输出他的ID。但是这样的缺点是需要查找...[2022/1/3]
详解C语言数据结构之栈详解C语言数据结构之栈
目录栈的链式实现主要内容代码实现:总结 栈的链式实现
主要内容
(1) 栈包含7个元素,依次是67,3,88,6,1,7,0,采用尾插入法创建 栈,为该栈设置两个指针,一个bottom和一个top指针;
(2) 入栈函数push,该函数完成向栈中插入元素的功能,利用push函数,将数字-...[2022/1/3]
C语言字符串函数入门
目录实现字符串库函数功能1.strlen函数2.strcmp函数3.strcpy函数4.strcat函数5.strupr函数6.strlwr函数总结 实现字符串库函数功能
有些时候我们可能会被限制无法使用库函数,这个时候我们需要编写自己的库函数。但了解了字符串库函数的功能之后,想要实现并不困难,...[2022/1/3]
C语言程序设计100例之(41):快速幂运算
例41 快速幂运算
题目描述
输入三个整数 b,p,k(0≤b,p,k<231),求 b^p mod k
输入格式
一行三个整数 b,p,k
输出格式
输出 b^p mod k=s (s 为运算结果)
输入样例
2 10 9
输出样例
2^10 m...[2022/1/2]
【计理03组01号】C语言基础知识
养成好的命名习惯
(1)函数名用大写字母开头的单词来命名。例如:
void InitPort(void);
void UpDisplay(void);
(2)变量用小写字母开头的单词来表示。例如:
uchar openLight;
uchar closeLight;
(3)常量用全大...[2022/1/2]
C语言程序设计100例之(40):最大公约数问题
例40 最大公约数问题
题目描述
已知正整数a0、a1、b0、b1,设某未知正整数 x 满足:
1. x和a0的最大公约数是a1;
2. x和b0的最小公倍数是b1。
现在要求出满足条件的正整数x。这样的x 并不唯一,甚至可能不存在。例如,若
a0=41,a1=1,b0=9...[2022/1/1]
详解C语言动态内存的分配详解C语言动态内存的分配
目录C 程序中,不同数据在内存中分配说明内存动态分配的相关函数应用实例动态分配内存的基本原则总结 C 程序中,不同数据在内存中分配说明
1)全局变量——内存中的静态存储区
2)非静态的局部变量——内存中的动态存储区——s...[2021/12/31]
C语言杨辉三角两种实现方法
目录杨辉三角——C语言实现方法一:利用二维数组实现方法二(对方法一的改进):?总结 杨辉三角——C语言实现
杨辉三角:
在屏幕上打印杨辉三角。
1
1 1
1 2 1
1 3 3 1
……
根据上述例子可知:
1.每一行的第一个和第二个数为1;
2.其...[2021/12/31]
C语言版约瑟夫问题算法实现
1、问题描述:
? ? ? ?有n个人围坐一圈,现从第s个人开始报数,数到m的人出列,接着从出列的下一个人开始重新报数,数到m的人又出列.如此下去,直到所有人都出列为止.试设计确定他们出列次序序列的程序
2、算法步骤:
????????1、确定存储结构:n个人围成一圈,故使用循环单链表来存...[2021/12/31]
C语言动态内存管理介绍
目录前言:C 语言为内存的分配和管理提供了几个函数:1.malloc() 用法2.calloc() 用法3.realloc() 与 free() 用法 前言:
简单记录一下,内存管理函数
为什么使用动态内存呢?简单理解就是可以最大限度调用内存用多少生成多少,不用时就释放而静止内存不能释放动...[2021/12/31]
C语言程序设计100例之(39):派对灯C语言程序设计100例之(39):派对灯
例39 派对灯
题目描述
在 IOI98 的节日宴会上,我们有 n 盏彩色灯,它们分别从 1~n 被标上号码。这些灯都连接到四个按钮:
按钮 1:当按下此按钮,将改变所有的灯:本来亮着的灯就熄灭,本来是关着的灯被点亮。
按钮 2:当按下此按钮,将改变所有奇数号的灯。...[2021/12/31]
进程通信(1.0 单机进程通信)
进程通信(1.0 单机进程通信)
参考链接:
https: blog.csdn.net/qq_38954792/article/detail 107685163
http: blog.sina.com.cn blog_6a1837e90100v1vc.html
https: www.cnblo...[2021/12/24]
详解C语言在STM32中的内存分配问题
01、前言
不说废话,先上示例代码
uint8_t num_byte[4];
uint32_t num_word;
const uint32_t num_word_const = 0x1234;
uint32_t *point_heap;
int main(void)
{
...[2021/12/24]
联盛德 HLK-W806 (十二): Makefile组织结构和编译流程说明
目录
联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
联盛德 HLK-W806 (三): 免按键自动下载和复位
联盛德 HLK-W806 (四): 软件SPI和硬件SP...[2021/12/21]
C语言之选择分支语句详解
目录1.if-else语句1.1 例子与总结1.2 if与else的配对问题1.3 if-else代码编写建议2. switch (case)语句2.1例子和总结2.2 switch语句其他知识点 1.if-else语句
1.1 例子与总结
例子:
①只有一个if
i...[2021/12/20]
C语言通过gets和gets_s分别实现读取含空格的字符串
目录导读gets函数函数声明函数介绍用法实例gets_s函数函数声明函数介绍用法实例学习小结 导读
在刷Oj题时,遇到包含空格的字符串输入,如何读取呢?如果使用scanf以%s格式去读取输入的字符串,遇到空格就读取结束了,显然这样是读取不了的。当然,scanf也是可以读取含空格字符串的,但操作起...[2021/12/20]
C语言中find_package()的搜索路径的实现
目录find_package()
Module模式
Config模式
find_package(OpenCV REQUIRED) 如何设置查找路径/指定只用版本 find_package()
内部用find_path()和find_library()实现的找头文件路径和动态共享库文件
首...[2021/12/20]
用C语言实现链式栈介绍用C语言实现链式栈介绍
目录堆栈的基本概念常见的栈有顺序栈和链式栈- 链式栈的C代码实现代码运行效果 堆栈的基本概念
堆栈是只能在一端增删元素的表结构,该位置称为栈顶堆栈的基本运算是压入和弹出,前者相当于插入,而后者则是删除最后插入的元素,形成后进先出的运算规则最后插入的元素在被弹出之前可以作为栈顶被外界访问从空栈中弹...[2021/12/20]
C语言设计前中后队列实例代码
目录队列基本概念1,数组实现?2,链表实现?总结 队列基本概念
队列是最常见的概念,日常生活经常需要排队,仔细观察队列会发现,队列是一种逻辑结构,是一种特殊的线性表。特殊在:
只能在固定的两端操作线性表
只要满足上述条件,那么这种特殊的线性表就会呈现出一种“先进先出”的逻辑,这种逻辑就被...[2021/12/20]
分支与循环 - L-wk
分支与循环
这章节我们会讲到以下几个知识:
分支语句
if
switch
循环语句
while循环
- for循环
- do...while循环
goto语句
还是那句话,我只是一个刚入门的小菜鸟,哪有有讲的不好,还望大家海涵。
先讲一个知识点,在C语言中什...[2021/12/17]
C语言之初识指针
指针是什么?
那到底什么是指针呢,其实指针和之前学习的变量基本相似,不过变量里面放的是一些值,而指针里面放的是它所指的地方的地址。在声明一个变量是,计算机就会为该变量预留一个位置,而指针所指?的就是那个位置。
举个例子:
int a = 10; 设置一个变量a的值为10
int *p...[2021/12/15]
C/C++语言结构体指针的使用C/C++语言结构体指针的使用
C/C++语言结构体指针的使用
主要内容
结构体的使用 - 定义,赋值,结构体指针
结构体作为函数参数的使用
指针的使用
代码内容重点
结构体的使用 - 定义,赋值,结构体指针
结构体作为函数参数的使用 - 最好使用结构体指针作为参数,而不是结构体
因为当传递的结构体作为参数,数据量较大时...[2021/12/15]
初识C语言 - L-wk初识C语言 - L-wk
初识C语言
大家好,我是新来的菜鸟,我来开始给大家讲解自己理解的C语言。讲的不好还望不要喷的太厉害了(手动滑稽)。谢谢大家的观看!!!
什么是C语言?
首先我们讲一下啥是语言,人和人不就是用语言交流嘛,那语言种类有很多种比如说汉语呀、英语(想必大家多多少少都学过一点吧,我这种菜鸟就是英语没学...[2021/12/15]
先进先出(FIFO)页面置换算法C语言实现、最近最久未使用(LRU)页面置换算法C语言实现
1.实现效果
2.实现源代码
1 #include<iostream>
2 #include<proce .h>
3 #include<stdlib.h>
4 #include<ctime>
...[2021/12/15]
C语言中数据在内存如何存储C语言中数据在内存如何存储
目录数据类型类型的基本归类整形有符号数和无符号数是否char 等于signed char呢?浮点型构造类型(自定义类型)指针类型空类型整形在内存中的存储原码,反码,补码正整数负整数大小端字节序设计一个小程序判断当前机器属于哪种字节序储存时数据发生截断以及整型提升例题1例题2浮点型在内存中的存储浮点型...[2021/12/8]
C语言输出唯一的子串
?题目描述
给一个字符串,求长度为m的所有不重复的子串。 比如字符串"aaab",我们求长度为2的子串,那么依次为"aa","aa","ab",那么不重复的子串为"aa","ab"
输入
第一行是一个整数K,表示样例的个数。 每个样例的第一行是一个整数m,表示所求子串的长度。 第二行是一个...[2021/12/8]
C语言数组学习之特殊矩阵的压缩存储
目录1.数组的定义数组与线性表的关系2.数组的存储结构习题13.对称矩阵概念存储方法选择习题1习题24.三角矩阵概念存储方法选择5.三对角矩阵概念存储方法选择习题16.稀疏矩阵概念存储方法选择 首先最开始我们先回忆一下数组的概念
1.数组的定义
数组是由n个相同类型的数据元素构成的有限序列,...[2021/12/8]
C语言实现可排序通讯录的示例代码C语言实现可排序通讯录的示例代码
目录1.目的2.分部流程1.初始化通讯录2.添加联系人3.判断联系人是否存在4.判断通讯录是否已满5.判断通讯录是否为空6.通讯录扩容7.核心函数8.查找联系人9.修改联系人10.清空通讯录11.删除联系人12.显示通讯录13.比较联系人14.通讯录排序3.总代码展示 1.目的
写一个实用型通讯...[2021/11/29]
C语言实现单链表的基本功能详解
1.首先简单了解一下链表的概念:
要注意的是链表是一个结构体实现的一种线性表,它只能从前往后,不可以从后往前(因为next只保存下一个节点的地址).在实现单链表的操作时,需要用指针来操作.很简单,注释写的很详细,欢迎大家指正哈哈哈哈~之前写的太烂了重新写了一下.....
2.代码展示...[2021/11/24]
C语言函数基础教程分类自定义参数及调用示例详解
目录1.? 函数是什么?2.??C语言中函数的分类2.1?库函数2.1.1 为什么要有库函数2.1.2?什么是库函数2.1.3 主函数只能是main()吗2.1.4常见的库函数2.2 自定义函数2.2.1自定义函数是什么2.2.2为什么要有自定义函数2.2.3函数的组成2.2.4 举例展示3. 函数...[2021/11/24]
C语言小游戏之简易版三子棋(棋盘可自由扩展)
目录前言step1.初始化棋盘内值为空格step2.打印棋盘step3.玩家下棋step4.电脑下棋?step5.判断棋盘是不是满了step6.判断输赢step7.最终测试三种情况game.hgame.c?test.c 前言
test.c? 放游戏的测试逻辑——调用game.c game.h
...[2021/11/24]
C语言大厂面试技巧及strcpy()函数示例详解
目录1、什么是优秀的代码?2、常见的coding技巧有哪些?3、以模拟实现strcpy为例(1)了解strcpy()函数(2)正片开始(危)1.第一阶段(面试官:最多5分)2.第二阶段(面试官:最多7分)3.第三阶段的代码:(面试官:最多8分)4.第四阶段(面试官:完美代码!10分!) 1、什么是优...[2021/11/24]
C语言编程大小端问题示例详解教程C语言编程大小端问题示例详解教程
目录如何理解大小端大小端的基本概念大小端是如何影响数据的存取的 今天想给大家分享的,是数据存储中的大小端问题,今天的分享主要分为三个部分,分别是如何理解大小端,大小端的基本概念以及大小端是如何影响数据存取的。
如何理解大小端
首先先带大家了解一个权值的概念。
对于多位数,处在某一位上的“...[2021/11/24]
C语言光标旋转与倒计时功能实现示例详解
目录1、光标旋转2、倒计时 1、光标旋转
首先问大家一个问题,大家觉得回车与换行是一个相同的概念吗?
很多人往往把它们两个当作是一个相同的概念,为什么会这么说呢?回想一下''\n'',大家觉得这是回车符号呢?还是换行符号呢?好像我们在日常中并没有特意区分这两个概念,我们既说''\n''是一个...[2021/11/24]
C语言指针详解之野指针
目录指针是什么?怎么表示?什么是指针变量?指针类型又是什么?指针类型存在的意义野指针是什么?野指针产生的原因一、 指针未初始化二、 指针越界访问如何避免野指针(野狗)的出现呢?指针运算总结
指针是什么?
指针只是一个名词而已,指针就是地址。
我们平时说指针,也可以指指针变量...[2021/11/24]
C语言strcpy库函数详解
目录C语言strcpy库函数的讲解附1:MSDN关于strcpy库函数的简介思路:总结
C语言strcpy库函数的讲解
附1:MSDN关于strcpy库函数的简介
思路:
1.从上面的MSDN关于strcpy库函数的简介中,我们可以知道,传进函数的第一个参数是目标数组,也就是用来...[2021/11/24]
C语言函数指针的老生常谈
目录函数指针函数指针的应用函数指针作为参数实例(qsort函数)总结
函数指针
本质上是一个指针,只不过指向函数而已。
编译器在编译期间对函数开辟了一块空间,而这快空间的开始地址,就是它的函数指针 。
下面我们也直接用最直观的程序来了解函数指针:
#if 1
void f...[2021/11/24]
漫画讲解C语言中最近公共祖先的三种类型
目录最近公共祖先定义查找最近公共祖先三叉链二叉搜索树普通二叉树
最近公共祖先定义
查找最近公共祖先
三叉链
代码如下:
三叉链
struct TreeNode {
int val;
...[2021/11/24]
c语言中if语句是怎么变成汇编代码的详解c语言中if语句是怎么变成汇编代码的详解
目录?1. 要编译的测试代码:?2. 词法分析3. 语法分析4. 代码生成4.1 gen_expr4.2 cmp_zero4.3 println(" je .L.else.%d", c);4.4 gen_stmt(node->then);4.4.1 gen_expr4.5 println(" ...[2021/11/24]