摘要:
本文用top的一些编程语言实现了最基本的算法 - 冒泡排序,依次出场的语言:C、C++、python、js、java、go、rust、swift、kotlin、ruby、R、Scala。代码逻辑比较简单,主要是对比学习下不同语言的语法和风格,也算一件比较有意思的事情。 C语言 #include <s 阅读全文
摘要:
本文主要介绍一下链表的特点和使用场景,并且用C语言基于链表实现了队列(FIFO)。 链表是一种灵活的数据结构,适合用于需要频繁插入和删除操作的场景,但在需要快速随机访问的情况下,数组或其它数据结构可能更为合适。 特点 动态大小 链表可以根据需要动态增长或缩小,不需要事先定义大小。 非连续存储 链表中 阅读全文
摘要:
野指针、悬空指针、空指针和内存泄漏是内存管理中四个重要概念。 野指针:指针变量未被初始化,或者被赋予了一个随意的、无效的地址值。它指向的内存区域可能是随机的,使用野指针会导致程序出现不可预测的行为,如程序崩溃或数据损坏 悬空指针:指针原来指向的内存已经被释放(例如通过free函数),但指针本身没有被 阅读全文
摘要:
在计算机网络中,客户端本地 IP 和远程 IP 有明显的区别和特定作用。 一、区别 定义 本地 IP(私有 IP 或内网 IP)是指在一个局域网内分配给客户端设备的 IP 地址。例如,在家庭网络中,通过路由器分配给电脑、手机等设备的 IP 地址通常是 192.168.x.x 这类私有 IP 地址。 阅读全文
摘要:
链表是一种灵活的数据结构,适合用于需要频繁插入和删除操作的场景,但在需要快速随机访问的情况下,数组或其它数据结构更为合适。 特点 动态大小 链表可以根据需要动态增长或缩小,不需要事先定义大小。 非连续存储 链表中的节点在内存中不必连续存储,每个节点通过指针连接。 插入和删除效率高 在链表中插入或删除 阅读全文
摘要:
算法:给你一个整数数组 nums(至少包含一个元素),请你找出一个具有最大和的连续子数组(至少包含一个元素),返回其最大和。 本文用 c、c++、python、java、kotlin、swift、js、rust、go 9种主流编程语言实现。基于贪心算法实现。 算法原理:遍历数组,并计算包含当前元素的 阅读全文