- 博客(37)
- 问答 (1)
- 收藏
- 关注
转载 Socket编程简单原理
原文链接:http://www.cnblogs.com/xudong-bupt/archive/2013/12/29/3483059.html 部分转自:http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. S
2017-03-12 21:27:40
383
转载 搜索二叉树之插入、删除、查找
文章来源:博客园 http://www.cnblogs.com/aiyelinglong/archive/2012/03/27/2419972.html搜索二叉树是满足以下条件的二叉树:1.左子树上的所有节点值均小于根节点值,2右子树上的所有节点值均不小于根节点值,3,左右子树也满足上述两个条件。 搜索二叉树的插入过程如下:1.若当前的二叉查找树为空,则插入的元素为根
2016-10-04 10:05:24
670
原创 顺序表(C++语言实现)
顺序表(C++语言实现)含有头插尾插、头删尾删、插入、修改、删除、查找等功能#define _CRT_SECURE_NO_WARNINGS#includeusing namespace std;typedef int DataType;typedef struct FindRet{ bool isFind; size_t index;}FindRet;class
2015-09-14 16:07:51
535
原创 字符串类
#define _CRT_SECURE_NO_WARNINGSss#include using namespace std;class String{private: char* _ptr;public: String()//构造函数 :_ptr(new char[1]) { _ptr[0] = '\0'; } String(char* str)//构造函数重载
2015-09-10 20:06:16
652
原创 日期类
实现一个日期类,包含缺省值的构造函数、赋值操作符的重载、对==的重载#include using namespace std;class Date{private: int _year; int _month; int _day;public: void Display() { cout << "" << this << endl; cout _year
2015-09-10 19:56:04
614
原创 单链表
"Slist.h"#pragma once#define __Slist_H__#ifdef __Slist_H__#include #include #include typedef int DataType;typedef struct Node{ DataType data; struct Node* next;}Node, *PLinkList;voi
2015-06-30 22:09:19
692
原创 动态顺序表(可分配内存空间)
前几天写了一个静态顺序表,但是觉得一开始开辟很大一部分空间却不一定可以完全用得上,会造成很大的内存浪费,于是写了一个可以自动开辟内存空间的动态顺序表作为改进。"DynamicSeqllist.h"#pragma once#define __SEQ_LIST__#ifdef __SEQ_LIST__#include #include #include #include ty
2015-06-27 11:54:13
4497
2
原创 静态顺序表
最近在学习数据结构的单链表部分,于是写了一个静态单链表做练习。实现了对其初始化、添加、更改、删除等功能的实现。"Seqlist.h"#pragma once#define __SEQ_LIST__#ifdef __SEQ_LIST__#include #include #include #define MAXSIZE 100typedef int DataType;t
2015-06-24 20:25:44
459
原创 注释转换(C语言->C++)
最近做了一个注释转换的项目,将C语言注释转化为C++格式。在这个项目中,我用到了有限状态机的思想。有限状态机,简称为状态机(finite-state machine),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。我先来介绍一下状态机。状态机简写为FSM(Finite State Machine),主要分为2大类:第一类,若输出只和状态有关而与输入无关,则称为Moor
2015-06-23 15:57:10
760
原创 通讯录(C语言、文件保存)
contact.h#ifndef __CONTACT_H__#define __CONTACT_H__#define NAME_LEN 10#define SEX_LEN 6#define TELE_LEN 12#define ADDR_LEN 20#define MAX_PEO 1000typedef struct PEO{ char name[NAME_LEN
2015-05-31 17:16:11
2491
原创 字符串比较和复制(函数实现)
#include#include//字符串比较char my_strcmp(char const *str1,char const *str2){ assert(str1,str2); while (*str1 == *str2) { if (*str1 == '\0') { return 0; } *str1++; *str2++; } if (*s
2015-05-25 17:04:54
1062
原创 通讯录(C语言)
先定义头文件#ifndef __CONTACT_H__#define __CONTACT_H__#define NAME_LEN 10#define SEX_LEN 6#define TELE_LEN 12#define ADDR_LEN 20#define MAX_PEO 1000typedef struct PEO{ char name[NAME_LEN]; int a
2015-05-20 20:40:03
1133
原创 判断大端小端的两种方法
首先我们要明白,什么是大端,什么是小端。拿二进制的1来举例,当它在机器中存储时会转换成‘00000000000000000000000000000001’看了上面那张图,大家应该明白了什么是大端存储什么是小端存储吧?那我们如何判断我们的机器是大端存储还是小端存储呢?有两种解决方法。(一)指针法#include int main(){ int val = 1; char *ret
2015-05-16 20:17:11
3037
原创 猜猜结果是什么?
#include int func(void){ static int counter = 1; return ++counter;}int main(){ int anwser; anwser = func() - func()*func(); printf("%d\n",anwser); getchar(); return 0;}在func()函数内,我们定义了静
2015-05-14 21:37:11
635
原创 结构体对齐规则
结构体对齐规则:(1)第一个成员在与结构体变量偏移量为0处(2)其他成员变量需要对齐到某个数字(对齐数)的整数倍的地址处对齐数=编译器默认的一个对齐数与该成员大小的较小值VS中默认为8(3)结构体总大小为最大对齐数(每个成员变量除了第一个成员都有一个对齐数)的整数倍(4)如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍,结构体的整体大小就是所有最大对齐
2015-05-13 20:31:45
978
原创 用可变参数列表求最大值
va_list arg 访问参数列表未确定部分va_start(arg,val);//将 arg_ptr 设置为传递给该函数参数列表的第一个可选参数 arg是声明的变量名,val是已确定参数列表最后一个参数va_arg(arg,int);//从 arg_ptr给出的位置检索 type 的值,并将 arg_ptr 指向列表中的下一个参数,使用 type 的范围确定下一个参数开始的
2015-05-13 16:49:17
935
原创 用可变参数列表求平均值
//头文件va_list arg 访问参数列表未确定部分va_start(arg,val);//将 arg_ptr 设置为传递给该函数参数列表的第一个可选参数 arg是声明的变量名,val是已确定参数列表最后一个参数va_arg(arg,int);//从 arg_ptr给出的位置检索 type 的值,并将 arg_ptr 指向列表中的下一个参数,使用 type 的范围确定下一个
2015-05-12 12:39:19
1027
原创 递归法实现n^k
#include int nk(int n,int k){ if (k == 0) return 1; else return n * nk(n, k - 1);}int main(){ int ret = nk(3,4); printf("%d\n", ret); return 0;}测试用例为3的4次方,结果是81。例子较简单,是对递归的简单练习,
2015-05-11 14:40:31
673
原创 初始化一个数组
#include void init(int arr[],int len){ int i = 0; for (i = 0; i < len; i++) { arr[i] = len - i; }}void show(int *parr, int len){ int i = 0; for (i = 0; i < len; i++) { printf("%d ",
2015-05-11 14:03:42
847
原创 “student a am i”的倒置
问题:如何实现student a am i转换成为i am a student?解析:可将语句完全倒置,成为i ma a tneduts,再将逐个单词倒置,成为i am a student#include #include void reverse_string(char *l, char *r){ while (l < r) { char tmp = *l; *l =
2015-05-10 17:15:43
762
原创 斐波那契的两种实现方法
#include int fib(int n){ int a = 1; int b = 1; int c = a = b; int i = 0; for (i = 3; i <= n; i++) { c = a + b; a = b; b = c; } return c;}int main(){ printf("%d\n", fib(10000)); g
2015-05-10 16:34:36
734
原创 字符串匹配
#include #include #include #define MAX 1000int getline(char line[], int max){ int ch; int i = 0; while (max > 0 && (ch = getchar()) != EOF && ch != '\n') { line[i] = ch; i++; max--;
2015-05-10 16:10:35
393
原创 选择排序法
//选择排序法#include int main(){ int arr[10] = {8,5,7,9,6,3,2,1,10,4}; int i = 0,j = 0; int k; int tmp; int len = sizeof(arr)/sizeof(arr[0]); for(i = 0;i<len-1;i++) { k = i; for(j= i+1;j<len;
2015-04-25 14:08:18
404
原创 翻转数组 两种方法
//指针方法#include int main(){ int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int i = 0; int *l = arr; arr[0]; int *r = arr + sizeof(arr)/sizeof(arr[0]) - 1; while(r>l) { int temp = *l; *l =
2015-04-25 11:43:14
1424
原创 合并两个字符串
#include#include #include char * my_strcat(char *dest, char const *src){ char *ret = dest; assert((dest != NULL) && (src != NULL)); while(*dest != '\0') { dest++; } while(*src != '\0')
2015-04-06 20:39:13
604
原创 猴子摘桃
#includeint main(){int x=1,i=9;while( i>=1 ){x=2*(x+1);i--;}printf("第一天摘的桃子:%d\n",x);return 0;}
2015-03-19 16:47:09
975
原创 大小写转换
#includeint main(){ int ch; while( (ch=getchar()) != EOF) { if( ch>='a'&&ch<='z') { putchar(ch); } if( ch>='A'&&ch<='Z') { ch+=32; putchar(ch); } } return 0;}
2015-03-19 16:44:05
551
原创 自由落体
#include int main(){ int i=1;float high=100,len=0,sum=0;while(i{len=high*1.5;high=high*0.5;sum=sum+len;i++;}printf("%f\n",high);printf("%f\n",sum);return 0;}
2015-03-14 21:50:07
435
原创 序列求和
#include int main(){ int i=1; double t,m=1,n=2,X,sum=0; while(i { X=m/n; sum=sum+X; t=n; n=n+m; m=t; i++; } printf("%f\n",sum); }
2015-03-14 21:17:51
484
原创 计算1-100中含有9的数字
#includeint main(){int count=0,i=1;for(i=1;i{if(i%10 == 9)+count++;else if (i/10 == 9)count++;}printf("%d\n",count);return 0;}
2015-03-13 16:44:44
1071
原创 数值计算
#includeint main(){int n=0;double k=1,sum=0;//K必须是浮点型,否则在计算过程中K值会进为1。无法进行下一步运算。for(n=1,sum=0;n{sum=sum+k/n;k*=-1;}printf("%lf\n",sum);return 0;}
2015-03-13 16:27:06
579
原创 求十个数中的最大
#include #define n 10int main(){int k,m;int a[n];printf("please input ten number:\n");for(m=1;m{printf("a[%d]=",m);scanf("%d",&a[m]);}for(m=1;m{if(a[m]k=a[m+1];}print
2015-03-09 17:35:11
441
原创 不使用临时变量交换数值
#includeint main(int argc,char *argv[]){int a,b;printf("input two numbers:\n");scanf("%d %d",&a,&b);a=a^b;b=a^b;a=a^b;printf("a:%d\nb:%d\n",a,b);return 0;}
2015-03-09 17:35:00
425
原创 求素数
#include #include"math.h"int main(){int m,i,k,h=0,leap=1;for(m=101;m{ k=sqrt(m+1);for(i=2;iif(m%i==0) {leap=0;break;} if(leap) {printf("%-4d",m);h++;
2015-03-09 17:33:52
411
原创 闰年
#includeint main(){int i;for(i=1000;i{if( i%4==0 ){if( i%100!=0 )printf("%d ",i);}else if( i%100==0&&i%400==0 )printf("%d",i);}return 0;}
2015-03-09 17:32:07
388
原创 九九乘法表
#include int main(){int m,n,k;for(m=1;m{for(n=1;n{k=m*n;printf("%d*%d=%d ",m,n,k);}printf("\n");}return 0;}
2015-03-09 17:23:13
390
原创 商品销售系统
#ifndef GOODS_H#define GOODS_H#include #include #include #include using namespace std;class Goods{protected:int number;string name;float price;listGoods> goodslist;listGoods
2015-03-07 22:52:46
1489
1
空空如也
求大神!VS2013下写了个电话本,编译连接都可以就是运行时会挂!
2015-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人