自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 快速排序的优化

//快速排序//1.从数列中挑出一个元素,称为 “基准”(pivot),//2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。//3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序int PartSort(

2016-05-27 17:43:42 411

原创 Linux中find用法

Linux下查找文件的命令有两个;locate 和 find 首先说下locate,locate这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进行模糊匹配,在精确度上来说差了点,简单介绍下它的两个选项: #locate        -i        //查找文件的时候不区分大小写 比如:lo

2016-05-26 09:38:21 1013

原创 排序的几种类型

//快速排序//排序思想://1.从数列中挑出一个元素,称为 “基准”(pivot),//2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。//3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序650) this.

2016-05-26 09:38:18 834

原创 堆的实现(大小堆及 优先队列)

一、堆的概念    堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。  堆结构的二叉树存储是:  最大堆:每个父节点的都大于孩子节点。  最小堆:每个父节点的都小于孩子节点。     堆栈中的物体具有一个特性: 最后一个放入堆栈中的物体总是被最先拿出来, 这个特性通常称为后进先出(LIFO)队列。 堆栈中定义了一些操作。 两个最重要的是PUSH和POP。 PUSH操作在堆栈的顶部加入一

2016-05-26 09:38:15 5700

原创 稀疏矩阵

稀疏矩阵是矩阵中非零元素的个数远远小于矩阵元素的总数,并且非零元素的分布没有规律,通常认为非零元素比上矩阵所有元素的值小于等于0.05时,则称该矩阵为稀疏矩阵(sparse matrix);与之相区别的是,如果非零元素的分布存在规律(如上三角矩阵、下三角矩阵、对角矩阵),则称该矩阵为特殊矩阵。   一个稀疏矩阵中有许多元素等于零,这便于矩阵的计算和保存.如果Matlab把一个矩阵当作稀疏矩阵,那么

2016-05-26 09:38:13 762

原创 二叉树的先序、中序、后序、层序递归及非递归遍历

二叉树是一种树形结构,它每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点)。所谓度是结点拥有的子树数。650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/7F/31/wKioL1cWRZ_g1ddLAAAn7bdu_34291.png" title="C47G6G`N73Y9V`4O)FFYDBN.png " alt="wKi

2016-05-26 09:38:10 579

原创 广义表

广义表(Lists,又称列表)是一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7F/2A/wKioL1cVuxqzk4guAABOfPTUY_Y086.png" title="QQ截图20160419125358.png" alt

2016-05-26 09:38:07 446

原创 单链表的增删查 逆置 倒数第k个节点等问题

对于单链表而言,它没有双链表那么复杂,它只有头节点,尾节点,节点数据,后继指针。在下面本人实现了 单链表的 增   删   插  查  改。    #include#include#include#includetypedef int Datatype;typedef struct SListNode{ Datatype data; struct SListNode*next;

2016-05-26 09:38:04 223

原创 实现简单的迷宫

我们知道栈的特点是:后进先出(First In Last Out);也就是说只能在栈的尾部进行压栈和出栈,而且出栈的时候只能从最后一个数据开始。  所以我们利用栈这个特点,来实现这个迷宫。在这之中我们要采用“回溯”的方法去处理当遇到路径不通的情况。  原理:每找到一个通路,就将这个数据压栈,这样当前位置的上一个位置就位于栈的顶部,假如当前位置的上下左右都找不到通路的时候,就开始回溯,也就是开始从来

2016-05-26 09:38:01 371

原创 斐波那契序列的递归和非递归的实现

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci[1])以兔子繁殖为例子而引入,故又称为“兔子数列”。  指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:        F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)

2016-05-26 09:37:58 682

原创 虚函数

虚函数是重载的另一种表现形式。这是一种动态的重载方式,它提供了一种更为灵活的、运行时的多态性机制。虚函数允许函数调用与函数体之间的联系在运行时才建立,也就是在运行时才决定如何动作,即所谓的动态连编。   虚函数首先是基类中的成员函数,但这个成员函数前面加了关键字virtual,并在派生类中被重载。    它的一般形式:   virtual  返回类型   函数名(形参表){    函数体}   在

2016-05-26 09:37:56 1040

原创 c++中的模板

一、概念:  所谓模板,通俗的理解就是像模具一样,通过它就能做出东西,一般是样式啥都是固定的,就像所谓的作文模板那样,能用的上就直接拿过来添加点自己的东西。那就是自己的。(我是这样理解的) 但在编程中,模板是泛型编程的基础。所谓泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式,模板分为模板函数和模板类。二、模板函数 举个例子:(假设要实现一个比较两个数是否相等的重载函数)    bool i

2016-05-26 09:37:53 215

原创 new 、delete和malloc、free的解析及区别

在c语言中使用函数malloc和free来进行内存管理(分配与释放),在c++中则提供了运算符new和delete来做同样的工作,后者比前者性能更优越,使用更方便更灵活。1.new用于内存分配的基本形式为:  指针变量名=new 类型在程序运行过程中new是从堆的一块自由存储区中为程序分配一块与类型字节数相适应的内存空间,并将该块内存的首地址存于指针变量中。eg.  int *p;   //声明一

2016-05-26 09:37:50 435

原创 单链表的插入 删除 及带环 问题

#include#include#include#includetypedef int Datatype;typedef struct SListNode{ Datatype data; struct SListNode*next;}SListNode;void Erase(SListNode*&pHead, SListNode *pos);void PushBack(SLi

2016-05-26 09:37:47 249

转载 操作系统实验之作业调度算法

#include  #include  #include #include  void FCFS();     //先来先服务 void SJF();      //短作业优先void input();  //输入函数 void operation();     //运算输出函数 int n; //全局变量 作业输入量 double avturn;       //平均周转时间

2016-05-26 09:37:45 1641

转载 打印1到最大的n位数。

面试题:(源自《剑指offer》)输入数字n,按顺序打印出从1到最大的n位十进制数。比如:输入3,则打印出1、2、3一直到最大的3位数999.[陷阱]:这个题目很容易想到的办法就是先求出最大的数。然后循环输出就可以了。#include#include#include#includevoid my_sprintf(char * arr, int len){ bool start =

2016-05-26 09:37:42 227

原创 区分数组指针和指针数组

数组指针和指针数组的区别: 1.指针数组   对于指针数组,他首先是一个数组;    譬如   int  *p1[10]; 由于“[ ]”的优先级高,所以先于p1结合成为一个数组,再被定义成int *成为整形指针数组。它含有10个指针类型的数组元素,即每个元素的类型都是int*;在此p1[0],p1[1].....p1[n]分别是指针变量,可以用来存放地址。*p1=a表示指针数组第一个元素的值,a

2016-05-26 09:37:39 264

原创 用c语言实现strncmp,strncat,memset, memcmp

1.int strncmp ( char * str1, char * str2, size_t num)用法:#include 功能: 比较字符串str1和str2的前n个字符.返回结果:如果前n字节完全相等,返回值就=0;在前n字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])#include#include#includeint

2016-05-26 09:37:36 281

原创 用c语言.模拟实现strcpy,strcat,strcat,memcpy,memmove

1.模拟实现strcpy#include#include#include#includechar *my_strcpy(char *dst, const char *src){ assert(dst != NULL); assert(src != NULL); char *ret = dst; while ((*dst++ = *src++) != '\0') ; ret

2016-05-26 09:37:33 229

原创 直接插入排序

直接插入排序(straight insertion sort)的做法是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序属于稳定的排序,最坏时间复杂性为O(n^

2016-05-26 09:37:30 310

转载 堆排序

堆排序(Heap Sort)是由J.Williams在1964年提出的,它是在选择排序的基础上发展起来的,比选择排序的效率要高,因此也可以说堆排序是选择排序的升级版。堆排序除了是一种排序方法外,还涉及到方法之外的一些概念:堆和完全二叉树。这里主要说说什么是堆?  如果将堆看成一棵完全二叉树,则这棵完全二叉树中的每个非叶子节点的值均不大于(或不小于)其左、右孩子节点的值。由此可知,若一棵完全二叉树是

2016-05-26 09:37:27 219

转载 快速排序

冒泡排序在扫描过程中只对相邻的两个元素进行比较,因此在互换两个相邻元素时只能消除一个逆序。如果通过两个不相邻元素的交换能够消除待排序记录中的多个逆序,则会大大加快排序的速度。快速排序(Quick Sort)正是通过不相邻元素交换而消除多个逆序的,因而可以认为其是冒泡排序的升级版。650) this.width=650;" src="http://images.cnitblog.com/blog/9

2016-05-26 09:37:24 326

原创 调整数组使奇数全部都位于偶数前面。

#include#includevoid ReorderOddEven(int arry[], int size){ assert(arry); if (arry == NULL || size <= 0) { return; } int begin = 0; int temp = 0; int end = size - 1; while (begin<end) {

2016-05-26 09:37:22 296

转载 c语言表白!!!!(ps 偶然看到的)

#include#include#includeint main(){char str[3];int flag=1;flag:printf("Do you love me?\n");scanf("%s",str);if(strcmp(str,"no")!=0&&strcmp(str,"NO")!=0){  printf("请重新输入!!!\n");  goto  flag;

2016-05-26 09:37:16 9523 1

原创 二维数组中的查找,杨氏矩阵

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/75/7A/wKiom1Y54wijHQMyAABkSe1XBb8649.jpg" title="QQ图片20151104184945.png" alt="wKiom1Y54wijHQMyAABkSe1XBb8649.jpg" />#include#includeint find

2016-05-26 09:37:13 263

原创 .每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水

#includeint main(){ int n = 20; int count = 20; int m; m = n / 1; while (m) { m = m / 2; if (m == 5) {  count += m; m = m / 2; count += m; if (m == 2) { m = m / 2;

2016-05-26 09:37:07 881

原创 对sizeof的各种总结

数组型(二维)#includeint main(){int a[3][4] = {0};printf("%d\n",sizeof(a));  printf("%d\n",sizeof(a[0][0]));printf("%d\n",sizeof(a[0]));printf("%d\n",sizeof(a[0]+1));printf("%d\n",sizeof(a+1));printf("%d\n"

2016-05-26 09:37:04 256

转载 编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。

#include #include void itob(int n, char s[], int b);void new_reverse(char s[]);int main(void){ char buffer[10]; int iTmp, radix, flag; while (1) { printf("Please input a int number(q to 

2016-05-26 09:37:01 718

转载 C语言itoa()函数和atoi()函数详解

C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。1.int/float to string/array:C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。● itoa():将整型值转换为字符串。● ltoa():将长整型值转换为字符串。● ultoa():将无符号长整型值转换为字符串。●

2016-05-26 09:36:59 301

原创 实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。

比如:输入字符串“1234”,返回数字1234。      输入字符串“+1234”,返回数字1234.      输入字符串“-1234”,返回数字-1234.#includeint main(){ int n; int my_atoi(char s[10]); char str[10]; gets(str); n = my_atoi(str); printf("%d

2016-05-26 09:36:56 1011

转载 面试题

一个猴子身带100个香蕉,他距离家50米。这个猴子要带香蕉回去,但是他一次最多只能背50个香蕉,而且,每走一米他就要吃掉一个香蕉(往 回走也要吃香蕉)。这个猴子最后最多可以带多少个香蕉到家?30251816选D解析:猴子每往家走1米就停下来做一个判断:    a、将香蕉放下,回头去拿之前没能带走的香蕉;    b、继续往家的方向走;那么猴子做选择的依据是:返回拿之前没能带走的香蕉所获得的收益必须大

2016-05-26 09:36:53 306

原创 c语言 验证所有的花括号都正确的成对出现。

#includeint main(){   int i,j=0;  char s[100];  printf("输入字符:");  scanf("%s",&s);    for(i=0;s[i];i++)  {      if(s[i]=='}') { if(j==0) { printf("匹配不成功");return 0;} else j++; }

2016-05-26 09:36:47 569

转载 一直接收键盘字符,小写字符就输出对应的大写,大写字符输出对应的小写字符是数字不输出

#includeint main(){        char c[]={0}; int i; for(i=0;;i++) { c[i]=getchar(); if('A'<=c[i]&&c[i]<='Z') { putchar(c[i]+=32); continue; } if('a'<=c[i]&&c[i]<='z') { putchar(c[i]-=32);

2016-05-26 09:36:42 557

原创 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列

#includeint main(){int i,j,b,size; char a[100];printf("请输入一个数:");scanf("%d",&b);size=16;j=15;for(i=0;i<size;i++){{ if((b>>j)&1)a[size-1-j]='1';elsea[size-1-j]='0';  }j--;}printf("输

2016-05-26 09:36:39 382

原创 输入一个字符统计其中有多少个单词。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/73/C5/wKiom1YGhejBYfCLAABLBpYJ91w360.jpg" title="QQ图片20150926194557.png" alt="wKiom1YGhejBYfCLAABLBpYJ91w360.jpg" />#includeint main(){ char s

2016-05-26 09:36:36 836

原创 将一个二维数组的行和列的元素互换,存到另一个二维数组中。

#includeint main(){ int a[][3]={{1,2,3},{4,5,6},{6,9,7}};    int b[3][3],i,j;      printf("array a:\n");  for(i=0;i<=2;i++)       //处理数组中的一行中的各元素  {      for(j=0;j<=2;j++)     //处理a中的某一列的元素  

2016-05-26 09:36:33 1959

原创 写一个函数返回参数二进制中 1 的个数

1.#includeint bit_count(unsigned int n){    int count;    for(count = 0; n; n=n &(n - 1))    {        count++;    }    return count;}int main(){   int k;    int num;printf("输入一个数:");    scanf("%d",&nu

2016-05-26 09:36:30 294

原创 9*9乘法表中for循环中遇到的一点问题

代码如下;#include int main(){ int x,y; for(x=1;x     {       for(y=1;y       printf("%d*%d=%d,",x,y,x*y);             printf("\n"); } }650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/73/7F/wKio

2016-05-26 09:36:27 396

原创 c语言编程:输入一个数看它是不是素数

素数是指除了1和该数本身之外,不能被其他任何整数整除的数。判断输入的一个数n是不是素数的方法是:将n作为被除数,将2—n-1各个整数先后作为除数,如果都不能被整除,则n为素数。算法思路:A:输入n的值。B:i=2(i作为除数)C:n被i除,得余数rD:如果r=0,表示n能被i整除,则输出n“不是素数”算法结束;否则执行E;E:i+1=iF:如果i

2016-05-26 09:36:25 1857

原创 用c语言编写打印出100~200 之间的素数。

运行代码:#include#includeint main(){ int a; int b; int n=0; for (a=100;a {for (b=2;b{if (a%b==0)break;    //若a能整除b,则执行break操作,即不执行下面的if操作返回                           //     上面的那个for循环。if (b==a-1){  printf

2016-05-26 09:36:22 726

ftptest.zip

使用MFC实现 对文件夹进行zip压缩并通过FTP进行文件的上传 编译环境vs2005(存在编译好的的程序及其源代码)

2019-06-11

c++ rabbitmq, vs2005编译通过 SimpleAmqpClient

c++ rabbitmq,使用vs2005编译通过的 SimpleAmqpClient 可以参考这个 https://blog.csdn.net/csm201314/article/details/76379160 不错的

2018-04-10

rabbitmq的使用、 SimpleAmqpClient编译 有写好的程序

rabbitmq的使用 使用cmake编译过程我有写成文档 有封装好的 也有源代码 可以自己封装 还有rabbit安装所需的软件(ps 唉 缺积分)

2018-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除