- 博客(35)
- 资源 (1)
- 收藏
- 关注
转载 编写自己的静态库时遇到的一个无法解析的问题
自己写编写静态库的过程网上有人讲过的,可以去搜索一下。这是网上的一个关于静态库的链接:https://blog.youkuaiyun.com/Lmikic/article/details/50916025因为每个人遇到的问题可能都不一样,所以我在这里只是把我遇到的问题讲一下底层库的名字最好和头文件的名字一致,因为我的头文件是从别的地方拷贝过来的,所以头文件的名字和项目的名字(即库的名字)不一致...
2018-08-05 15:21:05
1228
原创 (C/S)线程函数是否应该放入C++类中?
在写一个C/S的客户端时,想要把收和发分开处理,于是很自然的想到了要用到线程。 在用C语言写的时候代码可以调试出来,因为是结构化程序设计,所以函数与函数之间耦合性不是很强,线程函数也就没有与其他函数起冲突。但是当我想要把代码改为C++实现时,出现问题了。 把函数封装在类里,写成成员函数的形式,体现内聚性。我们写的代码应该尽量的高内聚、低耦合。 一旦使用类,所有函数都封装作...
2018-06-22 11:19:24
714
原创 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
1456
原创 串简单模式匹配
//串的简单模式匹配#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
887
原创 串插入
//链串中串插入运算#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
1374
原创 链串子串
//链串中秋子串运算#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
446
原创 链串
//生成链串与求串长、串连接运算#include #include typedef struct snode{ char data; struct snode *next;}LiString; //链串节点类型void StrAssign(LiString **s, char str[]) //尾插法
2017-12-13 14:49:44
621
原创 顺序串基本运算
//顺序串基本运算#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
1110
翻译 用栈逆置队列
//已知q 是一非空队列,编写一个算法,//仅用队列和栈及少量工作变量完成将队列q 中的所有元素逆置#include #include #define MAXSIZE 30typedef struct{ char data[MAXSIZE]; int top; //栈顶指针}SeqStack;
2017-12-10 23:21:21
4631
1
原创 括号匹配
//检查一个算法表达式中的括号是否匹配,算术表达式保存于字符数组中#include #include #define MAXSIZE 20typedef struct{ char data[MAXSIZE]; int top;}SeqStack; //顺序栈类型 void Init_SeqStack(Se
2017-12-09 23:44:16
247
原创 队列
//链队列#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
231
翻译 循环队列
//循环队列基本运算#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
254
转载 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
210
转载 链栈
#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
200
转载 顺序栈基本运算
//顺序栈基本运算#include #include #define MAXSIZE 20typedef struct{ char data[MAXSIZE]; //栈中元素存储空间 int top; //栈顶指针}SeqStack;void Init_SeqStack(Se
2017-12-05 23:25:45
1309
翻译 报数出圈
/*设有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
1144
翻译 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
665
原创 10.9逆置单链表
//10.9 已知单链表,写一算法将其逆置#include #include typedef struct node{ char data; //data 为ijiedian的数据信息 struct node *next; //next 为指向后继节点的指针}LNode; //单链表节点类型
2017-11-22 00:04:15
392
原创 10.8合并顺序表
//10.8 有顺序表A 和B, 其表中元素均按由小到大的顺序排列。//编写一个算法将他们合并成一个顺序表C, 并且要求表中的元素也按由小到大的顺序排列#include #include #define MAXSIZE 20typedef struct{ int data[MAXSIZE]; //存储顺序表中的元素 int len;
2017-11-20 22:42:04
411
转载 10.7线性表逆置的算法
//已知线性表A的长度为n, 试写出该线性表逆置的算法#include #include #define MAXSIZE 20typedef struct{ int data[MAXSIZE]; //存储顺序表中的元素 int len; //顺序表的表长}SeqList; //顺序表类型SeqList *Init
2017-11-17 23:12:06
5273
1
转载 10.6静态链表
//10.6 静态链表#include #include #define MAXSIZE 30typedef struct{ char data; //data 为节点的数信息 int cursor; //cursor 标识直接后继节点}SNode; //静态链表节点
2017-11-16 22:41:53
133
翻译 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
382
转载 10.4单链表基本运算
//10.4单链表基本运算#include #include typedef struct node{ char data; //data为节点的数据信息 struct node *next; //next为指向后继节点的指针}LNode;
2017-11-14 00:30:00
485
转载 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
725
翻译 10.2在表头插入生成单链表
#include #include typedef struct node{ char data; //data 为节点的数据信息 struct node *next; //next 为指向后继节点的指针}LNode;
2017-11-11 22:49:09
502
转载 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
346
原创 线性表笔记
一:1.线性表L=(a1,a2,...an),除第一个和最后一个元素外,其余每个元素都有且仅有一个直接前驱和一个直接后继。2.对单链表存储结构,数据域用于存储线性表的一个数据元素,指针域用于指向本节点的直接后继节点,NULL称为空指针,它不指向任何节点只起标识作用,所有节点(包含数据和指针两项)通过指针的链接而阻止成单链表。3.对一个长度为n的顺序表,在第i个元素(14.线性表采用
2017-11-09 22:41:09
3268
原创 数据结构绪论习题篇
一:1.研究数据结构就是研究,数据的逻辑结构,存储结构及其数据在运算上的 实现2.算法最终必须有计算机程序实现,算法的可行性是指指令不能有二义性,算法可以采用自然语言,流程图等形式描述。为解决某问题的算法和为该问题编写的程序含义不一定相同,因为这个程序可能不满足有穷性(出现死循环)。此外,算法的可行性是指每一条指令都应在有限时间内完成。3.数据的逻辑结构包括集合,线性,树,图4种基本类
2017-11-08 21:57:49
4527
1
原创 文件的概念
昨天老师讲了C++文件的操作:编码的方式:文本文件/二进制文件存取的方式:顺序读写文件/随机读取文件文件流是以外村为输入输出对象的数据流输出文件流:从内存流向磁盘文件的数据输入文件流:从磁盘文件流向内存的数据1.打开文件 流类 对象名 (文件名, 方式); ifstream infile("d:\\1.dat", ios::in);
2017-11-06 22:41:27
390
原创 指针和递归函数
C 语言:有n个整数,使其前面各数顺序后移m个位置,最后m个数变成最前面m的数(自己写的程序和别人写的程序的对比,只有对比才能发现一些算法的巧妙,希望和大家共同进步。)//自己写的#include #define N 10 //个数#define M 3 //向后移动的次数int main(){ void output(const
2017-11-05 21:54:14
1680
原创 算法特性
大话数据结构第二章笔记1.算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作,没有通用的算法2..算法的五个基本特性:输入,输出,有穷性(不会无限循环),确定性(每一步骤都具有确定的含义),可行性(算法的每一步都必须是可行的,可以执行有限次数完成)3.好的算法:正确性,可读性,健壮性,高效率和低存储4.问题规模不
2017-11-04 23:07:14
352
原创 野指针
野指针: 不是NULL指针,是指向“垃圾”内存的指针。 出现野指针主要有以下原因: 1.指针变量没有被初始化 2.指针p被free或者delete之后, 没有置为NULL,让人误以为p是个合法的指针 3.指针操作超越了变量的作用范围
2017-11-02 23:58:10
177
原创 函数指针和指针函数
摘自:高质量嵌入式Linux C编程(1)函数指针:即指向这个函数的指针,定义为“数据类型 (*fun)(参数列表);”,()的优先级比*高,所以*fun 加括号,如“void (*fun)(int*, int*);”。(2)指针函数:即返回值是指针的函数,定义为“数据类型 *fun(参数列表);”,如“char* fun(int*, int*);”,即返回值是char* 型。
2017-11-01 23:49:34
208
原创 形参是实参的引用
虚函数重写,返回值的类型不能改变虚函数重写,返回值的类型不能改变虚函数重写,返回值的类型不能改变刚学C++遇到的问题:重载运算符 输入流>>时, 函数定义的形参必须是实参的引用(别名) 虚函数重写,返回值的类型不能改变(如 int 型不能改为 void 型)//两个整形数组做+,-,*,运算,参数必须是实参的引用,而且是const型,不然的话,不会报错,但是输出的数据和输入的数据
2017-10-31 13:04:09
769
静态库编译和使用的学习(栈)
2018-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人