自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 继承与多态小结

1.基类派生出派生类派生类要继承基类(作用域也会被继承)2.基类的布局优先于派生类的布局3.对象的生成1)首先开辟内存2)然后调用构造函数a.调用基类构造b.调用派生类构造4.对象的销毁1)首先调用析构函数a.调用派生类b.调用基类2)释放内存5.系统调用基类的构造函数是默认的构造函数。...

2020-07-22 20:00:23 186

原创 智能指针

智能指针是面向对象的指针,以对象的形式存在,做指针的功能智能指针类与实现普通指针行为区别在于:智能指针通常接受指向动态分配对象的指针并负责删除该对象。用户分配对象,但由智能指针删除它,由此智能指针需要实现复制控制成员来管理指向共享对象的指针。只要在撤销了指向共享对象的最后一个智能指针后,才能删除共享对象。使用计数是实现智能指针类最常用的方法。栈对象的生成系统开辟1.开辟内存系统释放2.调用构造函数堆对象的销毁人为开辟1.调用析构函数人为释放

2020-07-18 11:54:52 178

原创 小程序入门知识

一、微信小程序:是一种不需要安装即可使用的应用,用户只需扫一扫或搜一下即可打开应用,无需安装或卸载。特点:1.应用体积小 。2.无需安装。3.触手可及。4.无需卸载。二、微信小程序存在的必要性:1.小程序可以完成订票、打车、订餐等服务。2.服务号的功能薄弱,而小程序功能强大。3.小程序可以被附近用户搜索到。4.小程序可以结合公众平台来推广。三、开发者工具的使用通过菜单栏可以访问微信开发者工具的大部分功能:1.项目:用于新建项目或打开一个现有的项目。2.文件:用于新建文件、保存文件或关闭文

2020-07-04 16:19:27 349

原创 I/o复用简单的介绍

1.I/O复用使得程序能同时监听多个文件描述符,这对提高程序性能相关重要。通常一下,情况,网络程序在下列情况需使用I/O复用技术。1)客户端程序要同时处理多个socket。2)客户端程序要同时处理用户输入和网络连接。3)...

2020-06-23 14:56:32 258

原创 函数模板的简单知识

交换两个变量的方法有宏定义和函数,他们有各自的优缺点:(1)宏定义:优:代码重复,适合所有类型缺:缺少类型检查,宏在预处理阶段就被换,编译器不知道,用宏不安全。(2)函数:优:真正的函数调用,编译器会对类型检查,相较于宏安全。缺:不同类型需要重复定义函数,代码无法复用。针对以上,C++存在泛型编程,不用考虑具体数据类型。函数模板的编译 1.定义点 模板的头部 2.调用点 模板的实例化后的模板函数<>模板类型参数列表T类型 万能的类型 虚假的类型templat

2020-06-22 15:29:32 199

原创 网络编程基础简单的知识

1.网络:把多台计算机连接起来就构成了网络物理设备:交换机 路由器传输介质:网线(双绞线) 光纤 同轴电缆 无线2.互联网:把网络和网络连接起来就构成了互联网3.ip地址:唯一标识一台主机ipv4 32位ipv6 63位4.端口号:应用程序的代号5.MAC 物理地址 48位ip+port 打开着 进程间通信6.网络协议:tcp udp ip icmp ftp7.tcp面向连接的 可靠的 流失服务udp 无连接 不可靠 数据报服务8.TIME_AWIT 存在的意义可靠的终止

2020-06-20 16:36:56 117

原创 多线程基础的简单的知识

1.共享内存 信号量同步比如说A进程地址空间和B进程地址空间他们的物理内存是一样的2.消息队列发送消息时,必须要指定消息类型,类型值是long,>=,如果消息队列放满了,则发送消息msgsnd()会阻塞获取消息时,必须指定消息类型,类型为0,则说明不区分消息类型,一般类型值是 >=1,消息队列为空,择msdrcv()会阻塞3.线程进程:一个正在运行的程序线程:进程内部的一条执行路径,执行序列pthread_cerate()创建的是一个内核级的线程pthread_exit()退出

2020-06-20 16:26:33 140

原创 函数知识

1.class Test{public:explicit Test(int a) :ma(a) {} private: int ma; }; int main() { Test tetst(20); test = 30;//Test = (int ==> Test) 隐式生成临时对象 return 0; }像上面会有隐式生成临时对象,这样的话会有安全隐患存在.而这是系统编译安装

2020-06-20 15:13:29 109

原创 Linux进程基础知识

1.僵死进程:子进程先于父进程结束,父进程没有获取子进程的退出码(1322-11)注:1)当父进程先结束时,不会产生僵死进程。2)若父进程结束,子进程变成孤儿进程,会被init进程收养。2.1)进程间通信:管道 信号量 内存共享 消息队列 套接字。2)管道分两种:有名管道 无名管道区别:有名管道 是可以命名的管道:任意两个进程间可以通信无名管道:只能在父子进程间通信3.管道通信方式:;半双工管道的写端,关闭,读端的read()方法返回值为0管道读端,关闭,写段写入数据是,会发生异常,SI

2020-06-20 14:53:33 131

原创 linux基本的一些知识

2020-06-20 14:34:54 107

原创 直接插入、希尔排序、堆排序、快速排序

#include<time.h>#include<stdlib.h>#include<stdio.h>#define LEN 13//直接插入排序void InsertSort(int *arr,int len){for(int i=0;i<len;++i){int tmp = arr[i],j;for(j = i-1;j >=...

2020-04-17 21:30:53 200

原创 kmp如何实现串匹配

#include <stdio.h>#include <string.h>#include <stdlib.h>#include <assert.h>//时间复杂度: O(n*m)int BF(const char *s, const char *p, int pos){int i = pos, j = 0;int lens = st...

2020-04-17 21:20:14 131

原创 顺序链表的构建、插入等

头文件#pragma oncetypedef int ElemType;typedef struct Node{ElemType data;struct Node *prior;struct Node *next;}CDLNode, *CDLinkList;void InitCDLinkList(CDLinkList list);int InsertCDLinkListPos(...

2020-04-17 21:17:33 129

原创 顺序栈的构建、插入、清除等

头文件#pragma oncetypedef int ElemType;#define STACK_INIT_SIZE 10#define STACKINCREMNT 5typedef struct Stack{ElemType *base;int top;int stacksize;}SqStack;void InitStack(SqStack *st);int Emp...

2020-04-17 21:13:56 365

原创 顺序循环队列的插入,销毁,构建等

头文件#pragma oncetypedef int ElemType;#define MAXQSIZE 10typedef struct Queue{ElemType *base;int head;int rear;}SqQueue;void Initqueue(SqQueue *que);int EnptyQueue(SqQueue *que);int FullQueu...

2020-04-17 21:10:46 515

原创 单链表的构建、插入、删除等等

头文件#pragma oncetypedef int ElemType;typedef struct Node{union{int length;//只有头结点才会用到length,用于记录当前数据节点的个数ElemType data;};struct Node *next;//指针域}LNode,*LinkList;typedef struct Head{Node h...

2020-04-17 21:07:12 116

原创 双向链表构建、删除、销毁等

此代码包含头文件 主函数 cpp三个文件头文件#pragma oncetypedef int ElemType;typedef struct Node{ElemType data;struct Node *prior;//存储其前驱地址struct Node *next;//存储其后继地址}DLNode, *DLinkList;void InitDLinkList(DLink...

2020-04-17 21:03:10 769

原创 c语言处理字符串中的符号前移后移相关题目

#include <stdio.h>#include <assert.h>#include <stdarg.h>//可变参数编程#include <string.h>#include <stdlib.h>/*1.编码完成下面的处理函数,函数将字符串中的字符’‘移到字符串的前部分,前面的非’’字符后移,但不能改变非’‘字符的先...

2020-04-17 20:57:00 2238

原创 统计一个字节的数据中二进制数1的个数

/*空间换时间位运算:针对二进制下面假设整数为1字节12 0000 110013 0000 110112&13 0000 1100(相同位都为1才是1)12|13 0000 1101(相同位只要有一个1,才是1)12^13 0000 0001(相同位不一样才为1)12<<1 000 11000 24...

2020-03-21 12:30:56 695

原创 把一个文件拷贝到另一个文件

#include<stdio.h>#include<assert.h>//文件拷贝//将文件src拷贝到desvoid FileCopy(const char *des,const char *src){FILE *fr = fopen(src,“rb”);FILE *fw = fopen(des,“wb”);assert(fr!=NULL &&am...

2020-03-20 15:12:10 297

原创 从键盘输入一个字符串,将其中的全部小写字母全部转换为大写字母,然后输出到一个磁盘文件text中保存,输入的字符串以“!”结束

#include<stdio.h>#include<assert.h>#include<ctype.h>/*从键盘输入一个字符串,将其中的全部小写字母全部转换为大写字母,然后输出到一个磁盘文件text中保存,输入的字符串以“!”结束*/void ToUpper(){char ch;FILE *fw = fopen(“text.text”,“w”...

2020-03-20 13:54:24 4315

原创 输入三个学生,包括他的学号,姓名,三门课成绩,要求输出三门课总成绩平均成绩,以及最高成绩学生的信息

#include<stdio.h>typedef struct Student{int num;//学号char name[20];//姓名int score[3];//三门课程分数}Student;void Input(Student *arr,int len)//从键盘获取学生的信息{printf(“请输入%d个学生信息,分别为学号,姓名,第一科成绩,第二科成绩,...

2020-03-17 14:12:16 15654 1

原创 定义结构体年月日,计算天数

#include<stdio.h>typedef struct Day{int year;int month;int day;}Day;static bool IsLeapYear(int year)//判断闰年{return (year%4==0 && year%100!=0 || year%400 == 0);}int GetDays(cons...

2020-03-17 12:46:54 507

原创 c语言判断系统大小端

#include<stdio.h>bool IsLittle(){union{char a;short b;}ua;ua.b = 0x0001;return ua.a == 0x01;}int main(){if(IsLittle()){printf(“小端\n”);}else{ printf("大端\n");}return 0;}...

2020-03-09 19:34:25 174

原创 c语言汉诺塔算法

#include<stdio.h>int g_count = 0;void Move(char x,char y){g_count++;printf("%c->%c\n",x,y);}void Hanoi(int n,char a,char b,char c){if(n == 1)Move(a,c);else{Hanoi(n-1,a,c,b);Move...

2020-03-04 19:50:14 220

原创 求阶乘用递归

Fac(n):n的阶乘Fac(n-1):n-1的阶乘特殊的是0和1,他们的阶乘都是1#include<stdio.h>int Fac(int n){if(n = = 0 || n == 1)return 1;elsereturn Fac(n-1)*n;}int main(){for(int i = 0;i < 10;i++){...

2020-03-04 19:41:56 60

原创 c语言递归求年龄

Age(5):求第五个人的年龄Age(4):求第四个人的年龄Age(3):求第三个人的年龄Age(2):求第二个人的年龄Age(1):求第一个人的年龄Age(n):求第n个人的年龄Age(n-1):求第n-1个人的年龄递归求年龄#include<stdio.h>int Age(int n){int tmp;if( n == 1)tmp = 10;else{...

2020-03-04 19:34:06 601

原创 c语言递归求和

用递归的方法求和求和1+2+3+…+nSum(n):1+2+3+…+n;Sum(n-1):1+2+3+…+(n-1);Sum(n) = Sum(n-1)+n#include<stdio.h>int Sum(int n){if(n == 0 || n ==1 )return 0;elsereturn Sum(n-1)+n;}int main(){printf...

2020-03-04 19:19:00 3097 2

原创 求第n项斐波那契数列的值

用For循环来实现斐波那契函数#include<stdio.h>int Fibon1(int n){int f1 = 1;int f2 = 1;int f3 = 1;for(int i = 2;i < n;i++){f3 = f1 + f2;f1 = f2;f2 = f3;}return f3;}int main(){for(int i = 1;...

2020-03-04 19:11:18 730

原创 用For循环打出乘法口诀

#include<stdio.h>int main(){int arr[10][10];for(int i=1; i<10; i++){for(int j=1; j<10; j++){arr[i][j]=ij;}}for(int i=1; i<10; i++){for(int j=1; j<=i; j++){printf(" %d%...

2019-12-01 17:06:09 254

原创 用筛选法筛选100以内的素数

int Prime(int arr[]){for(int i=1;i<100; i++){ int j; for(j =2;j <= sqrt((double)arr[i]);j++) { if(arr[i] % j == 0) { break; // j 2~sqI } } if(j > sqrt((double)arr[i])) {...

2019-11-29 22:38:33 227

原创 用选择法对10个整数排序c语言代码

void Pai(int arr[]){int tmp;for(int i=0; i<10;i++){for(int j=i+1; j<10;j++){if(arr[i]>arr[j]){tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}}}for(int i=0; i<10; i++){printf("...

2019-11-29 22:37:27 729

原创 杨辉三角C语言代码

void main(){int i;int j;int arr[10][10];for(i=0; i<10; i++){arr[i][0] = 1;arr[i][i] = 1;}for(i=2; i<10;i++){for(j=1; j<=i-1;j++){arr[i][j] = arr[i-1][j] + arr[i-1][j-1];}}for...

2019-11-29 22:35:54 748

原创 折半查法

void Er(int n){int arr[15] = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};int len = sizeof(arr) / sizeof(arr[0]);int low = 0;int high =len-1;int mid;while(low <= high){ mid = (low+high)/2; if(n ...

2019-11-29 22:35:10 157

原创 奇数魔方代码

void main(){int i = 0;int arr[3][3] = {0};int len = sizeof(arr) / sizeof(arr[0]);printf("%d\n",len);arr[0][1] = 1;int row = 0;int col = len/2;for(i=2; i<=len*len; i++){if(arr[(row+len-1)...

2019-11-29 22:08:11 168

原创 数组左移右移问题

给出一组数组,让数组整体右移一位void Right_More_Array(int *br,int n){if(NULL == br || n < 1) return ;int tmp = br[n-1];for(int i=n-1; i>0; --i){br[i] = br[i-1];}br[0] = tmp;for(int i = 0; i<=n-1; ...

2019-11-29 22:06:06 390

原创 n进制详细计算方法

计算n进制例题:假设在n进制下,下面的等式成立,567*456=150216,n的值是()A.9 B.10 C. 12 D.18法1:1.取末位,67=42;42%n=6。2.四个选项往里面带,看哪些选项余数是6,B排除,。3.计算567456=258552(这是十进制),大于150216,判 断出这肯定是个大于10的进制,在C D中选。4.又25...

2019-11-08 20:01:40 2313

空空如也

空空如也

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

TA关注的人

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