C
文章平均质量分 69
记录学习,交流学习~
皮皮蜥
每天都在加油中哦!
展开
-
网络通信之传输层协议
传输层协议其实包括UDP协议和TCP协议,这个在之前写的一篇应用层协议文章中提到过,应用层的代码实现是要基于传输层协议的。话说回来,由于UDP是面向数据报的一种协议,因此可靠性不如面向连接和字节流的TCP协议。因此TCP被广泛应用于各种网络领域的传输层原创 2023-04-21 22:50:51 · 1120 阅读 · 1 评论 -
并查集解析
并查集是基于数组操作的一个特殊数据结构,和以前学习[数组的堆排序]时有点相似,只不过这次的并查集用的是双亲描述法。我们知道数组的堆排序就是为了提高排序的效率,那么并查集是为了干什么呢?这里我先不讲并查集具体的数据结构,先引入一些日常的例子来说明并查集到底是干什么的。就以老师给学生分组为例来理解。原创 2022-11-24 22:03:29 · 689 阅读 · 3 评论 -
约瑟夫环问题详解(图文结合)--C语言
目录约瑟夫小故事:问题数学化:特殊情况:1. q = 2 ,n = (k=1 , 2, 3, ......)2. q = 2 ,n =+ t (k=1 , 2, 3, ......)一般情况:思路总结:算法推导:代码实现:总结:约瑟夫小故事:约瑟夫是犹太军队的一个将军,在反抗罗马的起义中,他所率领的军队被击溃,只剩下残余的部队40余人,他们都是宁死不屈的人,所以不愿投降做叛徒。一群人表决说要死,...原创 2022-04-30 20:21:34 · 6310 阅读 · 2 评论 -
sprintf函数的用法
sprintf函数的用法原创 2022-04-27 16:37:27 · 43908 阅读 · 5 评论 -
归并排序来啦
前言:学习了那么多的排序方法,比较受欢迎的快排(Hoare版本)其实就是分治的思想。也就是把一个大问题一步步的分装成小问题,逐一解决。这样做的好处是一般能省略不少的不必要的排序操作,或是简化部分麻烦的排序操作。而今天的主角归并排序撇开空间复杂度不讲其实是一个非常优秀的排序方法。基本思想就是把数组等分为左右两个小数组,假设在一系列操作下这两个数组有序了,那么最后有序合并这两个数组就行了。归并排序:定义:将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个原创 2022-04-24 00:28:54 · 200 阅读 · 0 评论 -
直接插入排序和希尔排序--c语言
直接插入排序和希尔排序--c语言原创 2022-04-23 01:14:45 · 1227 阅读 · 9 评论 -
快速排序的三种实现方式
如果给我们一个数组,要求是让我们对这个数组进行排序,但是同时又要求时间复杂度尽可能的小。这个时候冒泡排序(时间复杂度 O(n^2))显然是指望不上了,而这里有一个公认的快速排序的方法,最初是由Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中 的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右 子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。1.Hoare版本首先说一下原创 2022-04-21 12:09:44 · 3972 阅读 · 1 评论 -
对数组实现堆排序
我们知道,堆的物理存储形式其实就是数组存储。堆有大堆和小堆之分。而对数组进行堆排序其实本质就是把一个数组在逻辑层面上变成堆的形式。也就是变成大堆或小堆。如何实现呢?这里我们首先要了解到堆的结构:...原创 2022-04-09 16:32:00 · 2009 阅读 · 1 评论 -
c语言树的初步探索
树的概念是什么?定义:树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。注意:树形结构中,子树之间不能有交集,否则就不是树形结构这里有一些关于树的相关概念:节点的度:一个节点含有的子树的个数称为该节点的度; 如上图:A的为6叶节点或终端节点:度为0的节点称为叶节点; 如上图:B、C、H、I...等节点为叶节点非终端节点或分支节点:度不为0的节点; 如...原创 2022-04-01 23:52:27 · 84 阅读 · 0 评论 -
顺序栈的实现以及初应用
顺序栈的实现以及初应用原创 2022-03-27 10:48:06 · 1302 阅读 · 0 评论 -
文件操作+程序的预处理
文件操作+程序的预处理原创 2022-02-24 20:49:10 · 82 阅读 · 0 评论 -
文件操作初解
文件操作初解原创 2022-02-24 17:08:52 · 443 阅读 · 0 评论 -
柔性数组初解
柔性数组初解原创 2022-04-09 14:44:18 · 54 阅读 · 0 评论 -
位段及动态内存分配初解
位段及动态内存分配初解原创 2022-01-23 22:58:06 · 456 阅读 · 0 评论 -
字符串函数和内存函数汇总
一.求字符串函数的长度1.strlen头文件:<string.h>int my_strlen(const char* str){ int count = 0; while (*(str++) != 0) { count++; } return count;}二、长度不受限制的字符串函数1、strcpy(字符串拷贝)头文件:<string.h>char* my_strcpy(char*s,const char*p ){ char*原创 2022-01-22 13:31:28 · 330 阅读 · 0 评论 -
数据储存的学习心得
数据储存浅解原创 2021-11-27 12:33:17 · 579 阅读 · 0 评论 -
简单版的三子棋小游戏
不只是三子棋游戏,写任何游戏的代码都需要缕清思路才能动手去做,且必须要有条理性。要想玩游戏,首先都会有一个选择界面,即是否进行游戏。那么我们就创建一个菜单好了。当然,要先有一个游戏主体,如下所示:int main(){ test(); return 0;}这里的test()函数就是游戏主体。void test(){ int input = 0; do { mnue(); //菜单的打印 srand((unsigned int原创 2021-11-13 14:22:58 · 3098 阅读 · 2 评论