C:每日一练:单身狗(2.0版本)
异或运算的应用
99赞
踩
迪杰斯特拉(Dijkstra)算法(C/C++)
迪杰斯特拉(Dijkstra)算法是一种用于在加权图中找到单个源点到所有其他顶点的最短路径的算法。它是由荷兰计算机科学家艾兹格·迪科斯彻(Edsger Dijkstra)在1956年提出的。Dijkstra算法适用于处理带有非负权重的图。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
166赞
C/C++实现植物大战僵尸(PVZ)(打地鼠版)
83赞
【数据结构与算法】十大经典排序算法深度解析:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、桶排序、基数排序
在本文中,我们将逐一介绍每种排序算法的基本原理、实现步骤、性能特点以及适用场景。通过具体的代码示例和性能比较,读者将能够深入理解每种算法的优势与局限,从而在实际应用中做出更加合理的选择。
180赞
【C语言】内存函数详细讲解
前面我们学习了字符串函数,但字符串函数只能对字符串进行操作,但在C语言中有很多的数据类型,所以本章讲解一些内存函数,这些函数可以对任何数据类型进行拷贝、追加、比较。
84赞
弗洛伊德(Floyd)算法(C/C++)
弗洛伊德算法(Floyd's algorithm),又称为弗洛伊德-沃尔什算法(Floyd-Warshall algorithm),是一种用于在加权图中找到所有顶点对之间最短路径的算法。这个算法适用于有向图和无向图,并且可以处理负权重边,但不能处理负权重循环。
158赞
iOS 开发:Object-C 和 Swift 的区别 (AI问答)
Objective-C 和 Swift 在语言类型上有显著的不同:Objective-C 使用动态类型和较弱的类型安全,适合需要灵活性的场景;而 Swift 使用静态类型和强类型安全,提供了更高的代码可靠性和安全性。理解以上回答 ,大伙需要知道编译时和运行时的区别:编译时和运行时是程序执行过程中的两个不同阶段,它们有着不同的作用和特性。理解它们的区别有助于更好地掌握编程语言和程序设计的概念。编译时主要关注代码的正确性和优化,是将源代码转换为机器可读代码的阶段。
8赞
【C++】深入解析C/C++内存管理:new与delete的使用及原理
本章将分享C++为何放弃malloc/free系列,选择新系列new/delete去管理内存。深度探索new/delete的使用及其原理,malloc/free系列与new/delete系列的不同之处。
240赞
【C语言】基础数据类型的隐式转换、截断和整型提升(超详细)
本文主要讲解了基础数据类型的隐式转换、截断和整型提升。这些都是我们在学习C语言时必须要注意的细节。同时本文存在着许多干货,欢迎大家来看哦~
110赞
【C语言】手把手带你拿捏指针(1)(初始指针)
我们发现函数exg并没有帮我们把这两个变量的值交换,这是因为我们传参时,会把变量的值传过去,但是只是把值传过去,在函数exg的栈帧中会重新创建a和b来接收传过来的值,所以实现交换操作时,只是将exg中的a和b交换,然后函数结束时就销毁了,并没有起到实际作用。这就是指针变量的类型差异带来的变化。在现实⽣活中,我们使⽤地址要找到⼀个房间,在房间⾥可以拿去或者存放物品,C语⾔中其实也是⼀样的,我们只要拿到了地址(指针),就可以通过地址(指针)找到地址(指针)指向的对象,这⾥必须学习⼀个操作符叫解引⽤操作符(*)
112赞
C语言篇:第七章(字符串)
和整型数组一个道理......char str[ ] = {'h','e','l','l','0'}改进......char str[ ] = "hello"一般用char *p =“hello”char str[ ] = "hello"与char *p =“hello”的区别,char str[ ]是字符串变量,可以被修改,char *p =“hello”是字符串常量,不允许被修改,
19赞
VScode搭建C/C++开发环境
最新版VScode配置C/C++开发环境详细教程,包括资源包下载,以及如何配置,如果你不懂的话,那就过来看看吧!
271赞
C语言:函数递归
递归的思想: 把⼀个⼤型复杂问题层层转化为⼀个与原问题相似,但规模较小的⼦问题来求解;直到⼦问题不能再被拆分,递归就结束了。所以递归的思考⽅式就是把⼤事化小的过程。
178赞
C/C++内存详解
注意,对于数组,不会调用构造函数来初始化每个元素(除非元素类型是类类型且该类提供了默认构造函数),而是进行默认初始化(对于类类型,调用默认构造函数;,new在底层调用operator new全局函数来申请空间,delete在底层通过operator delete全局函数来释放空间。对于自定义类型的对象,例如类对象,new对象的同时会调用构造函数对对象进行构造,delete对象的同时会调用析构函数对对象进行析构。操作符用于在堆(heap)上动态分配内存,并调用对象的构造函数(如果有的话)。
115赞
C语言 数据存储
整形在内存中的存储。
65赞
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
上篇回顾:上篇我们通过数组名为切入口引出数组与指针间的关系,本篇将介绍不同类型的指针变量在不同场景中的使用
189赞
C:每日一题:字符串左旋
题目,左旋字符串
73赞
TCP粘包问题详解和解决方案【C语言】
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输协议,它保证了数据的可靠性和顺序性。然而,由于TCP是基于字节流而不是消息的,因此在传输过程中可能会出现粘包(Packing)和拆包(Unpacking)问题。**粘包问题(TCP粘包现象)**指的是发送方在传输数据时,TCP协议把多个发送的小数据包“粘”在一起,形成一个大的数据包发送;或者接收方在接收数据时,多个小的数据包被“粘”在一起,形成一个大的数据包接收。
30赞
C语言获取当前时间
/ 一秒有1000毫秒。
10赞
C#深度解析:Lambda表达式与Func/Action委托的全方位指南
Lambda表达式是C#中用于定义匿名函数的一种简洁语法。它允许您在代码中直接内联编写小型、临时的函数,而无需显式定义一个完整的独立方法。Lambda表达式的语法由三个部分组成:输入参数列表、箭头符号=>以及表达式或语句块。Lambda表达式的基本结构Csharp:可选,表示Lambda接受的参数。可以是一个参数,多个参数(用逗号分隔),或没有参数(此时为空括号()=>:箭头符号,将参数列表与Lambda体分开。
7赞