![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
Jerich morningStar
想要变强!
展开
-
堆排序(Heap Sort)
1. 将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点2. 将其与末尾元素进行交换,此时末尾元素就为最大值 ;3. 将剩余n-1个元素重新构造成一个堆(注:只有堆顶元素不满足堆序性,所以只需对堆顶元素进行下滤操作),这样操作之后堆顶元素就又是这n-1个元素的最大值。如此反复执行,便能得到一个有序序列了。原创 2022-11-02 00:07:26 · 226 阅读 · 0 评论 -
Linux套接字编程
Socket套接字TCP协议网络编程原创 2022-09-12 13:20:58 · 746 阅读 · 0 评论 -
Linux系统编程的学习
文件IO,进程线程通信……原创 2022-09-03 15:59:58 · 806 阅读 · 0 评论 -
多线程实现多个文件同时拷贝
实现:我这里是实现的是和linux终端中的cp指令类似的功能,将多个文件同时拷贝到指定的目录中。也就是说利用main函数传参,在执行程序的命令后输入拷贝的文件和目标目录。可以看最后的运行效果图。原创 2022-09-01 21:11:32 · 945 阅读 · 0 评论 -
二叉树与哈希表
二叉树先序、中序、后序遍历代码实现;哈希表解决冲突常用的两种方法。原创 2022-08-27 14:58:14 · 409 阅读 · 0 评论 -
数据结构:栈和队列
面试题:两个栈实现队列的先进先出。原创 2022-08-26 19:03:30 · 197 阅读 · 0 评论 -
数据结构:带头结点的单链表和双链表相关操作
带头结点单链表和双链表的增删改查原创 2022-08-26 19:01:02 · 384 阅读 · 0 评论 -
数据结构:不带头结点的单链表相关操作
链式结构:1.查找效率低2.插入删除效率高3.内存不一定连续,空间利用率高。不带头结点单链表的增删改查及文件读写操作!原创 2022-08-20 17:04:36 · 1372 阅读 · 0 评论 -
计数排序(Count sort)
首先找出待排序数组最大值,以确定辅助数组(用来计数)下标的最大值,如上图序列中最大值为9,则辅助数组下标为0~9;接着遍历原序列,将原序列元素等于辅助数组下标的辅助数组元素的值+1(计数的过程)......原创 2022-08-16 21:38:16 · 304 阅读 · 0 评论 -
C语言进度条的实现
C语言进度条的实现(GIF效果图)原创 2022-08-15 20:44:26 · 3433 阅读 · 0 评论 -
C字符串及相关函数、结构体以及文件操作相关内容
字符串、字符串函数、结构体、联合体、文件操作原创 2022-08-13 13:58:39 · 376 阅读 · 0 评论 -
C语言函数及几种作用域不同的变量
C语言函数相关内容及几种变量原创 2022-08-04 21:10:52 · 535 阅读 · 1 评论 -
基数排序(Radix sort)
定义10个“桶”,编号0到9,先从个位开始,放进对应号的桶中,再从每个桶中按照队列先进先出,挨个取出;再按照十位,重复操作。也就是放一次取一次!放取次数由最大元素的位数决定。原创 2022-08-04 21:04:41 · 387 阅读 · 0 评论 -
C指针
指针,二级指针(三级指针),指针操作一维数组,数组指针,数组指针操作二维数组,指针数组~原创 2022-08-03 20:23:37 · 544 阅读 · 0 评论 -
约瑟夫环问题
数组法解决:33个犯人,报数逢7杀1,问幸存者约瑟夫站哪了?原创 2022-07-30 12:09:32 · 119 阅读 · 0 评论 -
Linux及C基础学习总结
Linux操作系统版本Ubuntu20.4;GCC编译器的使用;C语言基础的学习记录。原创 2022-07-29 21:19:48 · 951 阅读 · 0 评论 -
杨辉三角(C语言的实现)
我这里呢是利用排列组合的性质第n行的第m个数可表示为C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。原创 2022-07-28 19:46:51 · 23755 阅读 · 0 评论 -
归并排序(Merge sort)
1.将序列中待排序数字分为若干组,先以(left+right)/2为分界分成两组,再对左半边和右半边分别递归,直到每个数字分为一组(其是就是先对半分,直到分成都是一个,有点像二叉树);2.将若干个组两两合并,保证合并后的组是有序的(合并样子有点像倒过来的二叉树);3.重复第二步操作直到只剩下一组,排序完成。...............原创 2022-07-28 19:44:05 · 336 阅读 · 0 评论 -
输出斐波那契数列前n项以及前n项和
函数+递归原创 2022-07-27 21:15:29 · 5629 阅读 · 3 评论 -
快速排序(Quick sort)
1.选定中心轴(基准值);2.将右侧小于中心轴的数字放到中心轴的左边,将左侧大于中心轴的数字放到中心轴的右边(实现上可以用左右索引)直到左右索引相遇,将中心轴位置的值放到相遇的索引位置即实现了以中心轴为划分左右;3.分别对左右子序列重复前三步操作,直到子序列长度为1,递归跳出,排序完成。.........原创 2022-07-26 21:28:19 · 186 阅读 · 0 评论 -
希尔排序(Shell sort)
先以数组长度的一半的间隔分组,各组内用插入排序;间隔减半再分组进行组内排序,直到间隔为1,再进行一次插入排序即可。原创 2022-07-26 21:24:56 · 177 阅读 · 0 评论 -
插入排序(Insert sort)
将待排序的数组分成两个数组,左边是有序数组,右边时无序数组(一般左边第一个元素arr[0],自成一个有序数组,毕竟只有一个元素),然后将无序数组的第一个数据插入到有序的数组当中去。于是有序的数组越来越大,等到无序的数组中的所有的元素都插入到了有序的数组中的时候,排序就完成了。.........原创 2022-07-26 21:23:22 · 416 阅读 · 0 评论 -
冒泡排序(Bubble sort)
冒泡排序算法+代码优化原创 2022-07-25 16:26:15 · 932 阅读 · 0 评论 -
选择排序(Select sort)
每次使用待排序数组第一个位置(不一定是arr[0],待排序数组长度会越来越短)的数据和之后的数据比较,找到更小的那个数据然后两者交换。这样的话,小的数据就慢慢挪到数组的前面去了,数组也就变得有序,每一轮排序只需要进行一次的交换。.........原创 2022-07-25 20:30:50 · 591 阅读 · 1 评论