自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

转载 编写自己的静态库时遇到的一个无法解析的问题

自己写编写静态库的过程网上有人讲过的,可以去搜索一下。这是网上的一个关于静态库的链接:https://blog.csdn.net/Lmikic/article/details/50916025因为每个人遇到的问题可能都不一样,所以我在这里只是把我遇到的问题讲一下底层库的名字最好和头文件的名字一致,因为我的头文件是从别的地方拷贝过来的,所以头文件的名字和项目的名字(即库的名字)不一致...

2018-08-05 15:21:05 1133

原创 (C/S)线程函数是否应该放入C++类中?

    在写一个C/S的客户端时,想要把收和发分开处理,于是很自然的想到了要用到线程。    在用C语言写的时候代码可以调试出来,因为是结构化程序设计,所以函数与函数之间耦合性不是很强,线程函数也就没有与其他函数起冲突。但是当我想要把代码改为C++实现时,出现问题了。    把函数封装在类里,写成成员函数的形式,体现内聚性。我们写的代码应该尽量的高内聚、低耦合。    一旦使用类,所有函数都封装作...

2018-06-22 11:19:24 630

原创 C++面试题(实现任意长度的整型数相加)

        #include <iostream>using namespace std;//可以实现任意长度的两个数相加char *add(char *num1, char *num2);int main(){     char n2[] = "995623548946456423";     char n1[] = "9954896431548699";     char *p...

2018-06-14 18:52:48 1385

原创 串简单模式匹配

//串的简单模式匹配#include #include #define MAXSIZE 30typedef struct{ char data[MAXSIZE]; int len;}SeqString; //顺序串类型int StrIndex_BF(SeqString *S, SeqString *T) //简单模式匹配{ int

2017-12-24 22:33:26 844

原创 串插入

//链串中串插入运算#include #include typedef struct snode{ char data; struct snode *next;}LiString; //链串节点类型void StrAssingn(LiString **s, char str[]) //尾插法建立链串{ LiString *p,

2017-12-23 19:13:37 1275

原创 链串子串

//链串中秋子串运算#include #include typedef struct snode{ char data; struct snode *next; }LiString; //链串节点类型void StrAssingn(LiString **s, char str[]) //尾插法建立链串{ LiString *p,

2017-12-22 23:49:22 406

原创 链串

//生成链串与求串长、串连接运算#include #include typedef struct snode{ char data; struct snode *next;}LiString; //链串节点类型void StrAssign(LiString **s, char str[]) //尾插法

2017-12-13 14:49:44 559

原创 顺序串基本运算

//顺序串基本运算#include #define MAXSIZE 50int StrLength(char *s); //求串长int StrCat(char s1[], char s2[]); //串连接int SubStr(char *s, char t[], int i, int len); //求子串int StrCmp(char *s1, char

2017-12-12 11:48:02 998

翻译 用栈逆置队列

//已知q 是一非空队列,编写一个算法,//仅用队列和栈及少量工作变量完成将队列q 中的所有元素逆置#include #include #define MAXSIZE 30typedef struct{ char data[MAXSIZE]; int top; //栈顶指针}SeqStack;

2017-12-10 23:21:21 4415 1

原创 括号匹配

//检查一个算法表达式中的括号是否匹配,算术表达式保存于字符数组中#include #include #define MAXSIZE 20typedef struct{ char data[MAXSIZE]; int top;}SeqStack; //顺序栈类型 void Init_SeqStack(Se

2017-12-09 23:44:16 192

原创 队列

//链队列#include #include #define MAXSIZE 30typedef struct node{ char data; struct node *next;}QNode;typedef struct{ QNode *front, *rear; //头尾指针}LQueue;void Init_LQueue(LQueue **q){ QN

2017-12-08 14:23:29 169

翻译 循环队列

//循环队列基本运算#include #include #define MAXSIZE 20typedef struct{ char data[MAXSIZE]; int rear, front;}SeQueue;void Init_SeQueue(SeQueue **s){ (*s) = (SeQueue *)malloc(sizeof(SeQueue)); (*s)

2017-12-08 00:32:40 205

转载 Fibonacci 求余

//转自绝地反击T#includeusing namespace std;const int M = 10007;int main() { int a1,a2; a1=a2=1; int sum=0,temp; long n; long i; cin>>n; for(i=1;i<=n;i++) { s

2017-12-07 16:24:51 183

转载 链栈

#include #include typedef struct node{ char data; struct node *next;}StackNode; //链栈元素类型void Init_LinkStack(StackNode **s); //链表初始化int Empty_LinkStack(StackNode *s);

2017-12-06 22:02:05 148

转载 顺序栈基本运算

//顺序栈基本运算#include #include #define MAXSIZE 20typedef struct{ char data[MAXSIZE]; //栈中元素存储空间 int top; //栈顶指针}SeqStack;void Init_SeqStack(Se

2017-12-05 23:25:45 1155

翻译 报数出圈

/*设有n个人围成一圈并编号为1-n。由编号为k的人进行1到m的报数,数到m的人出圈。接着再从他的下一个人重新开始1到m的报数,直到所有人都出圈。请输出出圈人的次序*/#include #include typedef struct node{char data; //data为节点的数据信息struct node *next; //

2017-12-05 00:32:20 1086

翻译 10.10将A和B合并成一个按元素递减链表

//10.10 对两个元素递增有序的单链表A和B,//编写算法将A和B合并成一个按元素递减有序(允许有相同值)的单链表C,//要求算法使用A,B中的原有节点,不允许增加新节点。#include #include typedef struct node{ char data; //data为节点的数据信息 struct node *next;

2017-11-24 23:44:28 594

原创 10.9逆置单链表

//10.9 已知单链表,写一算法将其逆置#include #include typedef struct node{ char data; //data 为ijiedian的数据信息 struct node *next; //next 为指向后继节点的指针}LNode; //单链表节点类型

2017-11-22 00:04:15 323

原创 10.8合并顺序表

//10.8 有顺序表A 和B, 其表中元素均按由小到大的顺序排列。//编写一个算法将他们合并成一个顺序表C, 并且要求表中的元素也按由小到大的顺序排列#include #include #define MAXSIZE 20typedef struct{ int data[MAXSIZE]; //存储顺序表中的元素 int len;

2017-11-20 22:42:04 335

转载 10.7线性表逆置的算法

//已知线性表A的长度为n, 试写出该线性表逆置的算法#include #include #define MAXSIZE 20typedef struct{ int data[MAXSIZE]; //存储顺序表中的元素 int len; //顺序表的表长}SeqList; //顺序表类型SeqList *Init

2017-11-17 23:12:06 5022 1

转载 10.6静态链表

//10.6 静态链表#include #include #define MAXSIZE 30typedef struct{ char data; //data 为节点的数信息 int cursor; //cursor 标识直接后继节点}SNode; //静态链表节点

2017-11-16 22:41:53 106

翻译 10.5 双向链表基本运算

//10.5 双向链表基本运算#include #include typedef struct dlnode{ char data; //data 为节点的数据信息 struct dlnode *prior; //prior 为指向前驱结点的指针 struct dlnode *next; //next 为指向后继节点的指针}DLNode;

2017-11-14 22:51:10 324

转载 10.4单链表基本运算

//10.4单链表基本运算#include #include typedef struct node{ char data; //data为节点的数据信息 struct node *next; //next为指向后继节点的指针}LNode;

2017-11-14 00:30:00 337

转载 10.3在表尾插入生成单链表

//10.3在表尾插入生成单链表#include #include typedef struct node{ char data; //data 为节点的数据域 struct node *next; //next 为节点的指针域}LNode; // 单链表节点类型LNode * Cre

2017-11-12 23:57:19 696

翻译 10.2在表头插入生成单链表

#include #include typedef struct node{ char data; //data 为节点的数据信息 struct node *next; //next 为指向后继节点的指针}LNode;

2017-11-11 22:49:09 466

转载 10.1顺序表基本运算

//10.1顺序表基本运算#include #include #define MAXSIZE 20typedef struct{ int data[MAXSIZE]; //存储顺序表中的元素 int len; //顺序表的表长}SeqList; //顺序表类型SeqList* Init_SeqList()

2017-11-10 23:44:47 299

原创 线性表笔记

一:1.线性表L=(a1,a2,...an),除第一个和最后一个元素外,其余每个元素都有且仅有一个直接前驱和一个直接后继。2.对单链表存储结构,数据域用于存储线性表的一个数据元素,指针域用于指向本节点的直接后继节点,NULL称为空指针,它不指向任何节点只起标识作用,所有节点(包含数据和指针两项)通过指针的链接而阻止成单链表。3.对一个长度为n的顺序表,在第i个元素(14.线性表采用

2017-11-09 22:41:09 3049

原创 数据结构绪论习题篇

一:1.研究数据结构就是研究,数据的逻辑结构,存储结构及其数据在运算上的 实现2.算法最终必须有计算机程序实现,算法的可行性是指指令不能有二义性,算法可以采用自然语言,流程图等形式描述。为解决某问题的算法和为该问题编写的程序含义不一定相同,因为这个程序可能不满足有穷性(出现死循环)。此外,算法的可行性是指每一条指令都应在有限时间内完成。3.数据的逻辑结构包括集合,线性,树,图4种基本类

2017-11-08 21:57:49 3817 1

原创 文件的概念

昨天老师讲了C++文件的操作:编码的方式:文本文件/二进制文件存取的方式:顺序读写文件/随机读取文件文件流是以外村为输入输出对象的数据流输出文件流:从内存流向磁盘文件的数据输入文件流:从磁盘文件流向内存的数据1.打开文件   流类  对象名  (文件名, 方式);  ifstream infile("d:\\1.dat", ios::in);

2017-11-06 22:41:27 339

原创 指针和递归函数

C 语言:有n个整数,使其前面各数顺序后移m个位置,最后m个数变成最前面m的数(自己写的程序和别人写的程序的对比,只有对比才能发现一些算法的巧妙,希望和大家共同进步。)//自己写的#include #define N 10    //个数#define M 3     //向后移动的次数int main(){     void output(const

2017-11-05 21:54:14 1582

原创 算法特性

大话数据结构第二章笔记1.算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作,没有通用的算法2..算法的五个基本特性:输入,输出,有穷性(不会无限循环),确定性(每一步骤都具有确定的含义),可行性(算法的每一步都必须是可行的,可以执行有限次数完成)3.好的算法:正确性,可读性,健壮性,高效率和低存储4.问题规模不

2017-11-04 23:07:14 303

原创 线性表

线性表中,顺序存储,链式存储,具体操作的算法思路, 静态链表,笔记

2017-11-03 22:15:58 230 1

原创 野指针

野指针:        不是NULL指针,是指向“垃圾”内存的指针。        出现野指针主要有以下原因:        1.指针变量没有被初始化        2.指针p被free或者delete之后, 没有置为NULL,让人误以为p是个合法的指针        3.指针操作超越了变量的作用范围

2017-11-02 23:58:10 137

原创 函数指针和指针函数

摘自:高质量嵌入式Linux C编程(1)函数指针:即指向这个函数的指针,定义为“数据类型 (*fun)(参数列表);”,()的优先级比*高,所以*fun 加括号,如“void (*fun)(int*, int*);”。(2)指针函数:即返回值是指针的函数,定义为“数据类型 *fun(参数列表);”,如“char* fun(int*, int*);”,即返回值是char* 型。

2017-11-01 23:49:34 191

原创 形参是实参的引用

虚函数重写,返回值的类型不能改变虚函数重写,返回值的类型不能改变虚函数重写,返回值的类型不能改变刚学C++遇到的问题:重载运算符 输入流>>时, 函数定义的形参必须是实参的引用(别名) 虚函数重写,返回值的类型不能改变(如 int  型不能改为 void 型)//两个整形数组做+,-,*,运算,参数必须是实参的引用,而且是const型,不然的话,不会报错,但是输出的数据和输入的数据

2017-10-31 13:04:09 733

静态库编译和使用的学习(栈)

这不是帮助别人编译静态库的具体步骤,而是作者在编译过程中遇到的一个问题,具体的操作步骤网上都有人写过的,可以直接搜索到。压缩包里包含作者自己写的简易的栈模型,包含头文件,库文件,库源文件,使用方法。亮点是底层库的实现与应用层业务的分离。

2018-08-05

空空如也

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

TA关注的人

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