- 博客(50)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 哈夫曼编码应用之实现文件压缩
背景:为了锻炼自己的代码能力,以及数据结构算法掌握的能力,做此项目来锻炼自己提高自己的能力,本项目运用了C++中的知识,比如模板类,仿函数等等,还用到了数据结构中的算法知识,比如建堆调堆、哈夫曼编码,还用到了文件操作的知识。总是试一次很好的训练。
2016-07-30 00:35:19
3832
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 升级gcc/d++ 让Linux支持c++11
更新Linux系统gcc版本,4.4.7 ~> 4.8.2,, 解决了很多问题,并支持最新的c++标准
2016-06-02 21:21:23
682
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 浅析《大数据运算》-加减乘除以及模除运算
WAY?为什么会有大数据运算?缘由?在c++中常用的数据类型有 char:1 bit,short 2 bit,int 4 bit,long long 8 bit等等,以上数据类型标识的数据大小非常有限,如果遇到大于他们能表示的范围时,计算结果就会有误,日常生活中的计算器也是如此,我国计算两个比较大的数的运算,也会出现错误,或者不能正常显示,例如计算123456789123456789*987654
2016-05-29 22:50:22
2172
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 注释转换小项目(c注释->到c++注释)
首先欢迎阅读本文,注释转换小项目涉及到c语言对文件的操作,另外这个小项目还应该对各种情况都考虑到。将c语言注释转换为c++注释经过分析思考,我得到证据要的注释转换有以下几类:我将之整理并放入一个文件里,起名input.c//1.一般情况/* int i=0;*///2.换行问题/* int i=0;*/int j = 0;/* int i=0 */int j = 0;//3.匹配问
2016-05-29 22:50:19
338
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 古典密码之hill密码的加密与解密程序实现
*欢迎阅读小明哥的博客*这里主要介绍的是:古典密码之 hill密码加密解密过程的编程实现。首先,请看对我对hill密码做的简单介绍。hill密码是古典密码中多表代换密码部分的重要一环,以下的介绍节选自百度,想要深入了解的请查阅书籍补充相关知识。原理:希尔密码(Hill Password)是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。每个字母当作26进制数字:A=0
2016-05-29 22:50:10
21706
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 linux环境下的文件查找命令--find
熟悉linux的伙伴都知道,在开源的linux环境中,最主要的思想就是一切皆文件,linux中的任何东西都可被看作文件,那么我们在使用这些文件的时候就面临一个问题如何查找一个文件,在这里我以CentOS6.5虚拟机为例,做演示。Linux下有多种查找文件指令:find、whereis、which和locate。● which:查看可执行文件的位置● whereis:查看
2016-05-27 17:44:56
5407
原创 一些优秀的Linux学习博客推荐,很实用
Linux 菜鸟学习博客:点击打开链接Linux awk命令详解:点击打开链接Linux shell脚本学习:shell脚本学习Linux sed学习:sed学习
2016-12-07 15:25:19
1038
转载 网络编程I/O复用方法详解
声明:本文转载自- Anker's Blog博客园 - select、poll、epoll之间的区别总结 http://www.cnblogs.com/Anker/p/3265058.html原作者对I/O复用分析的详尽,值得借鉴 select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就
2016-10-08 23:50:10
424
转载 Linux下编写程序必要工具使用详解
声明:本文转载自博客园:GCC 编译详解 - azraelly - 博客园 http://www.cnblogs.com/azraelly/archive/2012/07/07/2580839.htmlGCC 编GCC编译详解GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。Gcc不仅
2016-10-08 22:44:39
6298
原创 const的用法总结
1. const的主要用法:(1)定义常量(2)修饰函数的参数(3)修饰函数的返回值(4)修饰函数的定义体2. 用const 修饰函数的参数(1)const 只能修饰输入参数如果输入参数采用“指针传递”,那么加const 修饰可以防止意外地改动该指针。 例如:void StringCopy(char *strDest
2016-09-24 11:19:49
390
原创 Linux下利用c/c++使用sqlite
首先在linux环境下安装sqlite, 第一步:上官网:http://www.sqlite.org/quickstart.html 找到如图所示的版本(第二个),点击下载: 第二步:下载,命令:#wget install http://101.96.8.164/www.sqlite.org/2016/sqlite-autoconf-3140100.tar.gz解压:#tar -zxvf
2016-09-13 00:14:15
3510
转载 linux下使用git仓库,以及使用github
关于git命令大家可以参考我的上一篇博客:git命令思维导图在linux下搭建git环境1、创建Github账号,https://github.com2、Linux创建SSH密钥:[plain] view plain copyssh-keygen -t rsa -C "your_email.com" ##一直默认就可以了
2016-09-07 20:55:45
1252
转载 Linux下文件的压缩与解压缩
本文转载自博客园,原文地址如下http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html参考另一文件地址:http://www.cnblogs.com/chinareny2k/archive/2010/01/05/1639468.html内容:.tar 解包:tar xvf FileName.t
2016-08-12 21:00:14
386
原创 最长公共子序列理解心得之C/C++
今天在在做腾讯2017年暑期实习生编程题的时候遇到的求最长回文串个数,其中遇到了一个知识点,求最长公共子序列。下面看一下百科给出的解释:再看看算法与应用:求公共子序列举例:char arr1[] = "abcdefggigk";char arr2[] = "acdefhglkm";//arr1和arr2的最长公共子序列为"acdefgk"使用动态规划算法:思
2016-08-12 01:22:40
2378
转载 如何在 Linux 下检测内存泄漏[转载自 Linux爱好者]
感觉不错的文章,分享出来大家一起看。以下是原文链接:http://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666539454&idx=1&sn=cd31ab1da5ddc9dd47827072fafb7d29&scene=23&srcid=0810a5AwoaaHzSZNMUK9LJ2y#rd以下是原文内容:
2016-08-10 17:58:18
463
原创 vim(Linux编辑器)的使用
前段时间学习了Linux操作系统的Vim的使用,现在做个总结分享。首先Linux操作系统下编辑器分为vi 和 vim,他们既有相同也有不同 1)相同:都是多模式编辑器 2)不同:vim是vi的升级版本,不仅兼容vi的所有指令,而且还有一些新的特性在里面,例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、macos、windows。
2016-08-03 19:48:01
321
原创 C++类成员变量初始化顺序问题
今天在看剑指offer这本书时,看待一个简单的举例,说应聘C++岗位的不知道成员变量初始化顺序!我很惊讶,因为我也不知道,所以就看上网查了一下,看到了一个博客()以及其中的内容,现在将我的学习过程分享出来!首先看一下代码:#include <iostream>using namespace std;class A{public: A() :n2(0),...
2016-07-19 20:17:35
6129
8
原创 经典面试题之寻找一组数中只出现一次的两个数
这个面试题是非常经典的,办法有很多,最笨的办法就是一个一个找,但是这样的话计算机太累,时间复杂度,空间复杂度也比较高,所以我这里给出一种简单的方法,这方法主要用到了异或运算,首先介绍一下异或运算:相同为零,不同为一,所以当两个数不同时异或结果不为0,当两个数相同时异或结果为0,任何数异或0都等于自己,例如:3 ^ 0 = 3; 4 ^ 5 = 1; 7 ^ 7 = 0;下面给出编程示
2016-07-05 20:46:30
479
转载 进程控制块PCB结构 task_struct 描述
一、task_struct 结构描述1.进程状态(State)进程执行时,它会根据具体情况改变状态。进程状态是调度和对换的依据。Linux 中的进程主要有如下状态,如表4.1 所示。(1)可运行状态处于这种状态的进程,要么正在运行、要么正准备运行。正在运行的进程就是当前进程(由current 宏 所指向的进程),而准备运行的进程只要得到CPU
2016-06-05 17:37:28
521
原创 排序算法之插入排序
插入排序解释:有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法--插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,
2016-05-29 22:50:27
272
原创 初试->广义表
广义表:又称列表)是一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP 语言的程序也表示为一系列的广义表。 广义表是n (n>=0)个元素a1,a2,a3,…,an的有限序列,其中ai或者是原子项,或者是一个广义表。通常记作
2016-05-29 22:50:25
440
原创 [C++] 利用模板的模板参数实现单链表
模板的模板顾名思义就是一个模板函数的参数是另一个模板函数的模板。模板函数有兴趣的读者请看我上一篇博客模板函数,实现顺序表,请看模板的模板简要举例650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7D/91/wKiom1bqzPqjAUeNAABa09vu3wo286.png" title="}5%YS7P`U2F[UA2[Q~9)1
2016-05-29 22:50:16
404
原创 小明哥教你使用模板函数实现顺序表
阅读本文需要对顺序表有一定的了解,欢迎您的阅读。首先介绍模板函数:顾名思义,就是一个模板让别的事物套用的,c++中的模板就是同一结构的不同类型套用的,举个简单例子,要使用这个结构的模板,int可以用,char也可以用,等等好了不罗嗦了,直接上实现函数吧!模板结构如下:template //模板函数,T为参数类型class SeqList{public: SeqList(); SeqLis
2016-05-29 22:50:13
415
原创 c++中的双向链表写法,主要实现(增删查改,链表逆置,构造函数,运算符重载,等)
c++中的双向链表写法,主要实现(增删查改,链表逆置,构造函数,运算符重载,等)本文主要内容1)介绍c++中双向链表的写法。2)实现双向链表中数据的增、删、查、改、链表逆置、链表输出3)介绍类中构造函数、析构函数、运算符重载函数的写法接下来介绍双向链表的成员函数:这写函数放在头文件中,方便编写#pragma once#includeusing namespace std;#include
2016-05-29 22:50:08
791
原创 c++中的顺序表写法,主要实现(增删查改,构造函数,运算符重载)
本文的内容主要是,利用c++写出顺序表,并对写出的代码进行测试,主要实现的功能:实现对顺序表的增删查改,要写的函数:构造函数,赋值运算符重载,析构函数。在编写代码过程中应注意到深浅拷贝问题。下面是顺序表的类函数:#pragma once#includeusing namespace std;typedef int DataType;class SeqList{public: S
2016-05-29 22:50:05
748
原创 求一组数的平均数(利用可变参数列表)
题目:求一组数的平均数,要求:使用可变参数列表,可变参数列表作用:可以处理任意多的参数。可变参数列表实现方法:可变参数列表是通过宏来实现的,这些宏定义于stdarg.h头文件中,它是标准库的一部分。这个头文件声明一个类型va_list 和三个宏va_start、va_arg和va_end。我们可以声明一个类型为va_list的变量,与这几个宏配合使用,访问参数。各个变量的作用:声明一个va_lis
2016-05-29 22:50:02
511
原创 将数字字符串转化为对应数字输出(不考虑溢出)
使用c语言编写一个函数,将一个数字字符串转化为对应数字,不考虑溢出,(比如“12.34”转换为数字:12.34),考虑异常输入思考:异常如输入字幕等等,也有可能输入‘+’,‘-’号等,程序如下:#include#include#includedouble my_atof(const char* str){ assert(str); double num = 0; int flag
2016-05-29 22:49:59
1045
原创 设计实现一个简易通讯录,要求使用结构体
实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:1.添加联系人信息2.删除指定联系人信息3.查找指定联系人信息4.修改指定联系人信息5.显示所有联系人信息6.清空所有联系人7.以名字排序所有联系人由于一般储存都使用不了1000个人的信息,故为了省空间我使用的是单链表储存联系人的信息,有一个储存一个,单链表具有省空间的作用,我将函数代码封
2016-05-29 22:49:56
3039
原创 用C语言编写函数,实现strlen计算字符串长度的功能
本文介绍三种方法:1.循环计数法,(设置一个计数器)。2.递归法,(函数调用自身进行计算)3.指针-指针法,(库函数使用的是此方法)现在列入程序:方法1:/*计数法*/int my_strlen(char *p){ int number = 0; while (*p) { number++; p++; } return number;}方法2:/*递归法*/int
2016-05-29 22:49:54
17617
1
原创 用C语言编程,实现调整数组,使奇数全部位于偶数前边,
函数要求实现功能:调整数组使奇数全部都位于偶数前面。要求:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。思考,要想实现此功能,首先对函数数组进行遍历,从两头进行,一个从前向后查看数组元素是否为奇数,一个从后向前查看数组元素是否为偶数,如果前为偶,后为奇则进行调换!程序如下:/***2.调整数组使奇数全部都位于偶数前面。
2016-05-29 22:49:51
680
原创 用C语言编写函数实现一个整数计算机,程序接受三个参数,第一个参数为操作项,后两个参数为操作数。
函数功能:使用main函数的参数,实现一个整数计算机,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。思考:三个参数中两个操作数不用处理,直接传入即可,而对于第一个操作数就需要处理了,以保证传入的参数是“'-a','-s','-m','-d'”,以便于处理计算,第一步将操作符号转化为上述赋好,然后将参数以
2016-05-29 22:49:48
3405
原创 给一组数,只有两个数只出现了一次,其他所有数都是成对出现的。怎么找出这两个数
本文给出两种算法,(编译环境Visual Studio 2013)1.遍历整个数组,并记录每个数出现的次数,然后输出只出现一次的数。2.对于出现了奇数次的数,使用疑惑即可。方法一:代码:#include#includevoid find_f(int arr[], int len) //寻找单独数{ int i, j, k; printf("这一组数中单独的数有:"); for
2016-05-29 22:49:45
461
原创 使用冒泡排序,排序一组字符串
字符串的冒泡排序与整型冒泡排序与原理相同,在此就不对冒泡排序做详细介绍,直接给出源代码!#include#include#define N 10int main(){ char *arr[N] = {"pas","pase","abced","asdf","acdef","ertugbs","jhgsds","ksjdjfh","skjsh","smjdjg"}; int i =
2016-05-29 22:49:42
488
原创 实现函数,用字符串"%20"替换空格
题目及要求:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“we are happy.”,则输出“we%20are%20happy.”。思考过程:首先将定义一个指针,用于保存"%20",然后定义一个数组,用于接收从键盘上输入的字符串,边输入边判断,如果是空格,则替换,直至接收完毕。程序:/**实现一个函数,把字符串中的每个空格替换成“%20”。*例如输入“we are happ
2016-05-29 22:49:39
279
原创 在字符串中找出第一个只出现一次的字符。经典C语言例题
原题要求:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'。思考过程:字符串中字符有很多,只出现一次的也有很多,最直接简单的方法就是记录下每个字符出现的个数,然后从第一个字符开始看,找出第一个只出现一次的字符。程序实现:方法一:当字符数组比较小时,便利每个元素:/* 题目:在字符串中找出第一个只出现一次的字符。 * 如输入“abaccdeff”,则输出'
2016-05-29 22:49:37
1369
2
转载 Linux 入门——适合初学者本文转载于的博客原文
本文转载于博客园 hellodev的博客博客地址:http://www.cnblogs.com/ggjucheng/博客原文:学习Linux也有一阵子了,这过程中磕磕撞撞的,遇到了问题,也解决了一些问题,学习的路子是曲折的,想总结点啥的,让刚刚学习Linux的不会望而生畏。为啥我们要学习Linux技术的价值不在于这个技术有多么高超,而在于技术本身给我们带来什么价值,所以很多时候我们学习一个技术,不
2016-05-29 22:49:34
369
原创 Linux系统如何写C/C++程序
前言,本文介绍的利用linux系统编写C/C++语言程序是在CentOS 环境下实现的,在编程之前,您得先安装Linux系统或者Linux虚拟机,一切准备好之后我们就可以开始编程了。(1).开启电脑或Linux虚拟机(本人使用的是虚拟机)650) this.width=650;" width="553" height="262" style="background:url("/e/u261/lan
2016-05-29 22:49:31
2655
1
原创 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。
一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。头文件以及主函数(测试):#include#includeint main(){ int arr[] = { 4, 6, 4, 5, 5, 3, 6 }; //数组初始化,可自由赋值 int len = sizeof(arr) / sizeof(arr[0]),c; //求数组长度 c = f
2016-05-29 22:49:28
411
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人