![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux C学习
lmory233
萌新程序员,学习成长中...
展开
-
试编一函数:将字符串中第1个到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部
例:char ch[]="international";i n t e r n a t i o n a l 变为 r n a t i o n a l i n t e(1)将ch[0]个到第ch[4]字符与最后交换 l a n o r n a t i e t n i(2)反转ch[9]到ch[12]的部分 l a n o r n a t i i n t e(3)反转ch[...原创 2018-05-03 22:28:47 · 2806 阅读 · 0 评论 -
试编一函数判断字符串是否为回文.若是则函数值返回1.否则返回0.
#include <stdio.h>#include <string.h>int fun(char const * ptr,int j){if(j>50) {return 0;} int i;i=0;while(i<j){printf("%c\n",ptr[j]);...原创 2018-05-03 21:17:29 · 14749 阅读 · 2 评论 -
小项目-使用哈夫曼树实现文件的压缩解压
打开一篇英文文章,统计该文章的每个字符频度,构建哈夫曼树,通过哈夫曼树进行编码译码。步骤: (1)打开原文件,创建哈夫曼树,依照哈夫曼树以0,1进行编码。将编码文件输出到code_file.dat文件中,将哈夫曼树输出到tree_file.txt中。 (2)打开编码文件,将编码文件(保存为1,0数据的文件),利用位运算将每八个字符合成为一个字符以实现编码文件的压缩,输出压缩文件到.haf文...原创 2018-05-04 19:22:20 · 909 阅读 · 1 评论 -
C语言-快速排序
快速排序:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别再进行上述的分割,每次分成两部分的排序过程可以递归进行,以此达到整个数据变成有序序列。代码#include <stdio.h>int sort(int *array,int left,int right){ int tmp=array...原创 2018-05-06 19:45:04 · 202 阅读 · 0 评论 -
C语言-堆排序
堆排序是指利用堆这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大顶堆和小顶堆,是完全二叉树。大顶堆的要求是每个节点的值都不大于其父节点的值。在对数组从小到大排序时,需要使用的就是大顶堆,根据大顶堆的要求可知,最大的值一定在堆顶。以 int array[]={56,13,78,52,15,44,23,6,45,22}; 为例,将数组看做一个堆进...原创 2018-05-06 21:52:36 · 284 阅读 · 0 评论 -
使用socks5实现简易代理服务器
写一个简易的socks5代理服务器,负责转发网络数据包,要能够使用它来上网。SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/...原创 2018-05-06 22:38:56 · 11556 阅读 · 6 评论 -
C语言的洗牌发牌小程序
构建一副扑克牌,并实现洗牌发牌。代码#include #include #include #define NUM 10000 //洗牌混乱度char color[7][7] = {"空白","红桃","黑桃","草花","方片","小王","大王"}; // 1:红桃 2:黑桃 3:草花 4:方片 5:小王 6:大王char number[]={"0A234567890原创 2018-05-08 14:13:59 · 6679 阅读 · 0 评论