- 博客(39)
- 收藏
- 关注
原创 动态内存管理
动态内存管理动态内存管理是什么动态内存管理,是操作系统允许程序员自由开辟地址空间,用户可以自由的申请,释放空间,来存放自己数据,但是用户自己申请的空间要自己来进行释放。它不像数组,静态内存那样,需要在程序运行之前就分配好内存空间。可以在程序运行时根据所需要的内存大小来自由分配。如果用完之后不合理释放,如果申请的过多而不释放,会导致内存空间不足,而导致程序崩溃。C/C++定义了四个内存区...
2018-09-24 14:15:21
345
原创 const作用
1. 修饰变量具有常属性,可以在定义数组的时候用该变量定义,每次取值从寄存器中取,在编译过后,直接将对应的值,替换到当前变量的位置。与之相对的是volatile。被这个关键字修饰的话,代表告诉了编译器,这个变量时随时可能被修改的。防止编译器优化,每次读取该值时,从内存中读取。而不是从编译器优化的寄存器中读取。C++中,被const修饰的变量,会在编译期间将对应的变量,直接替换为该变量的值。但是...
2018-09-24 14:05:56
6802
原创 url解码实现
解url编码实现#include<iostream>#include<stdio.h> using namespace std;char* urldecode(const char* url,char* d) { int j,i; char *cd =(char*) url; char p[2]; int num; ...
2018-09-02 17:20:49
809
转载 linux下mysql命令大全
原文地址:linux下mysql命令大全 1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mysqladmin restart /ect/init.d/mysql restart (前面为mysql的安装路径) 3....
2018-09-01 20:07:02
640
原创 页面置换算法(LRU算法)
LRULRU是一种页面置换算法,在对于内存中但是又不用的数据块,叫做LRU,操作系统会根据那些数据属于LRU而将其移出内存而腾出空间来加载另外的数据LRU算法:最近最少使用,简单来说就是将数据块中,每次使用过的数据放在数据块的最前端,然后将存在的时间最长的,也就是数据块的末端的数据剔除掉。这就是LRU算法。如果进程被调度,该进程需要使用的外存页(数据)不存在于数据块中,这个现象就叫做缺页...
2018-08-24 10:58:08
73420
6
原创 小Q的歌单
小Q的歌单题目描述: 小Q有X首长度为A的不同的歌和Y首长度为B的不同的歌,现在小Q想用这些歌组成一个总长度正好为K的歌单,每首歌最多只能在歌单中出现一次,在不考虑歌单内歌曲的先后顺序的情况下,请问有多少种组成歌单的方法。输入描述: 每个输入包含一个测试用例 每个测试的第一行包含一个整数,表示歌单的总长度K(1<=K<=1000). 接下来的一...
2018-08-13 15:34:29
329
原创 判断是否为完全二叉树、二叉树最近公共节点、两个最远节点距离、搜索二叉树转双向循环链表、前中序重建二叉树
栈头文件#pragma once#include &amp;lt;stdlib.h&amp;gt;#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;assert.h&amp;gt;#include &amp;lt;string.h&amp;gt;#define CAPACITY 6int k = 0;typ
2018-08-11 10:15:55
177
原创 C++继承及其特点
继承继承机制是面向对象程序设计,使代码可以复用最重要手段,它允许在保持原有类的基础上进行扩展,增加功能,这样产生的类,叫做派生类,被派生类继承的类叫做基类。继承呈现了面向对象程序设计的层次结构。体现了由简单到复杂的认知过程。继承方式 派生类名字: 继承权限:父类的名字 例如:已存在类class A 那么派生类定义为 class Derived: public A继承权限三种格式...
2018-08-10 13:37:49
4731
原创 Linux信号
信号信号通知的中断机制 硬件信号有优先级,软件中断没有优先级 信号的头文件#include 信号源: 1、硬件 2、软件 软件层面的信号生命周期,在一个进程的生命周期中。 信号的产生:硬件异常,硬件中断,alarm,kill,raise函数 sigqueue函数 信号在进程中的注册, ...
2018-08-09 18:27:59
249
原创 进程间通信
进程间通信进程间通信(IPC) linux中实现进程间通信的几种方式:管道管道的特性:一边写,一边读。这边没有东西,另一端则处于阻塞状态。只有当另一端写入时,一端才能读出数据。 管道又分为几种模式: 单工:例如看电视,一端只能播放,一端只能接收, 半双工:例如对讲机,只能一端放,一端收,一个人说话,另一个人只能听。可以互相都说话。 全双工:例如打电话,两边都可以自由说或者听。...
2018-07-08 00:09:04
848
原创 趣味贪吃蛇
贪吃蛇部分一般从三个角度分析数据 界面 控制器数据分析1:只有一条蛇 2:每次屏幕上只有一个食物 3:每(300毫秒)往前走一步目标界面蛇 食物 墙 游戏界面蛇结构体 坐标系中的坐标 蛇的每个节点结构 蛇的运动方向蛇本身 { 蛇头 蛇尾 蛇方向 }食物 墙游戏结构本身 game { 蛇 食物 蛇的当前得分 ...
2018-07-05 17:28:53
341
原创 迷宫问题--压栈、回溯、全部路径、最短路径
迷宫问题用循环模拟压栈来实现迷宫问题我们可以用一个二维数组(N*N)来表示迷宫,1表示路,0表示墙,我们把下方当成迷宫入口,出口为数组右方,此迷宫有两个出口。 需要建立一个结构体arg用来存放关于迷宫(二维数组)的信息。也就是存二维数组的两个下标然后创建关于用来压栈的结构体迷宫每个节点都有4个方向可以探寻。碰到墙壁(0)或者边界则此路不通 传迷宫的入口进去也就是数组gMaze[...
2018-06-08 14:44:29
2734
1
原创 链表相关练习
链表练习题#define _CRT_SECURE_NO_WARNINGS 1#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;stdlib.h&amp;gt;#include &amp;lt;assert.h&amp;gt;typedef struct SListNode{ int data; struct SListNode *pN
2018-06-04 16:46:19
168
原创 Linux下重要目录,重要指令。
Linux相关重要目录指令Linux中进入目录需要哪些权限?在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限? 进入目录需要进入者有x权限。 执行用户在目录中有r权限,可以进行ls操作。 执行用户在目录中有w权限,可以进行touch,rm,mv操作 执行用户在目录中有x权限,可以进行cd操作。Linux以下重要目录了解以下Linux的...
2018-06-04 15:45:52
571
原创 链表练习
用链表实现简单的一串数,并进行操作进行各种增删改查 逆向打印 不通过遍历来删除一个非尾节点 不通过遍历在一个借点钱插入一个节点 通过单链表实现约瑟夫环 逆置/反转单链表#define _CRT_SECURE_NO_WARNINGS 1#include &lt;stdio.h&gt;#include...
2018-05-31 16:58:58
270
原创 时间复杂度与空间复杂度
时间复杂度算法的时间复杂度描述了一个程序该算法的运行时间,是一个关于代表算法输入值的字符串的长度的函数,相当于计算一个程序总共执行了多少次,这个计算次数的表达式,就是该程序的时间复杂。用大O符号表示。不包含函数的低阶和首项系数,使用这种方式时,时间复杂度可以被称为是渐进的。空间复杂度空间复杂度是指一个算法在运行过程中占用临时存储空间大小的量度。一般是指这个程序运行期间最多能用多少个...
2018-05-23 14:18:58
4238
2
原创 用编程实现简单通讯录(函数指针数组,函数回调,动态内存开辟,类等)
实现一个简单通讯录首先主要有姓名,年龄,性别,联系方式。同时要对其进行增删改查等操作。 我们要创建一个类,来存放联系人的信息。然后再来一个枚举常量,用来准备接收switch的条件(增删改查等)。用枚举常量会增加代码的可读性。 其中包含了快速冒泡排序,函数回调,函数指针数组(转移表)等。现要求能进行以下操作: 添加联系人信息删除指定联系人信息查找指定联系人信息修改指定联系人信息...
2018-05-10 16:45:43
514
原创 模拟使用main函数参数实现简单计算器
模拟使用main函数参数实现简单计算器,其中还用到函数指针、回调函数、指针数组、类等。#include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>int ADD(int x, int y){ return x + y;}int SUB...
2018-05-08 00:35:29
695
原创 数组、指针、函数之间的关系
数组int a[5];定义了一个数组,其中包含了5个int类型数据,我们可以用a[0],a[1],a[2]…等访问这些元素 sizeof(a)为整个元素大小,为20。 sizeof(a[0])是第一个元素的大小,为4。 sizeof(a[5]),值为4。在这里没有出错是因为sizeof是关键字,只是访问这个值的大小,并不会去执行。 sizeof(&a[0])值为4,因为...
2018-05-04 22:11:16
543
原创 模拟实现printf函数
可变参数所谓可变参数,就是可以用函数传一个、两个或者多个不同数量(不固定)参数的函数。 比如printf("hello");//一个参数printf("%d",10);//两个参数printf("%d,%d,%s",10,20,"hello");//四个参数printf函数就是典型的可变参数的函数。用一段代码简单了解一下可变参数列表。#
2018-04-29 00:14:30
279
原创 函数栈帧
函数的调用过程每一次函数的调用都是一个过程,这个过程我们称之为函数的调用过程。这个过程需要为函数开辟栈空间,用于函数调用中临时变量的保存,保护。这块栈空间我们称之为函数栈帧。先写一段代码:#include &lt;stdio.h&gt;int Add(int x, int y){ int z = 0; z = x+y; return z;}int...
2018-04-17 14:36:16
455
原创 编程实现扫雷小游戏
编程实现扫雷小游戏头文件部分#define _CRT_SECURE_NO_WARNINGS 1 #ifndef __SANZIQI_H__ #define __SANZIQI_H__ #define ROW 10#define COL 10//初始化雷区void Initboom(char boom[ROW][COL], int row, int ...
2018-04-09 13:42:19
602
原创 编程三子棋游戏
用编程实现简单的三子棋游戏先是头文件区域,声明主函数将用到的函数头文件区#define _CRT_SECURE_NO_WARNINGS 1 #ifndef __SANZIQI_H__ #define __SANZIQI_H__ #define ROW 3 #define COL 3 //初始化棋盘 void InitBoard(char boa...
2018-04-08 19:59:40
448
原创 数组小结
数组小结所谓数组,是有序的元素序列,创建数组时,需将其初始化如:int arr[10] = {0};当使用函数时,需要传参传数组,传过去的并非是数组,而是数组的首元素地址。#include <stdio.h>init(int arr[], int sz){ int i = 0; for(i=0; i<sz; i++) { arr[i] ...
2018-04-05 16:35:12
145
原创 用编程确定5个运动员名次
用编程确定名次题目 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。 编程确定比赛的名次#include <stdio.h>int BJ(int a,...
2018-04-05 15:32:52
651
原创 c语言编写现杨辉三角
杨辉三角//用二维数组编写#include <stdio.h>int main(){ int arr[30][30] = {0}; int i = 0;//数组列 int j = 0;//数组行 int x = 10;//控制杨辉三角层数 int m = 0;//控制每行前面的空格数 printf("请输入杨辉三角的行数:...
2018-04-05 15:19:42
725
原创 c语言运算操作符
c语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致,运算操作符之间有相对应的优先级。相同优先级的运算符,从左到右依次运算。 基本表达式 () [] -> . 括号(函数),数组,两种结构成员访问单目运算符 ! ~ ++ – - (type) * & sizeof 否定,按位否定,增量,减量,正负号,间接,取地址,类型转换,...
2018-03-30 23:49:05
217
原创 输出整数的每一位&两个整数二进制表达中不同的bit位个数&c语言操作符总结
输出整数的每一位#include <stdio.h>#include <math.h>int main(){ int i = 0; int y = 0; int j = 0; int z = 0; int x = 0; scanf("%d",&i); j = i; //计算整数的位数 while(j) { ...
2018-03-30 11:56:17
437
原创 一个整数二进制中1的个数&二进制中所有的偶数和奇数位
一个函数返回参数二进制中1的个数写一个函数返回参数二进制中 1 的个数 int count_one_bits(unsigned int x){ int count = 0; while(x) { if((x&1) == 1) count++; x = x>>1; } return co...
2018-03-30 11:45:49
727
原创 二分法查找有序数组中的数字、猜数字小游戏、模拟输入密码场景、输出相对应的大小写字母,不输出数字
在整形有序数组中查找想要的数字二分法查找(binary_search)#include <stdio.h>int binary_search(int arr[], int x, int sz){ int left = 0; int right = sz-1; while(left<=right) { int mi...
2018-03-29 14:27:02
545
原创 1-100之间9出现的次数、求1-10000之间的水仙花数
1-100之间,9出现了多少次#include <stdio.h>int main(){ int i = 0; int count = 0; for(i=1; i<=100; i++) { if(i%10 == 9) //个位数为9的数 count++; if(i/10==9) ...
2018-03-29 11:45:50
1357
原创 将三个数按从大到小输出&求两个数的最大公约数
将三个数从大到小排列#include <stdio.h>int main(){ int x,y,z,i; //定义4个整型,i用来当媒介 printf("请输出要排列的三位数,用逗号隔开\n"); //说明 scanf("%d,%d,%d",&x,&y,&z); //接收三个整型 if ...
2018-03-22 14:26:27
353
原创 输入a,b,c三个值,输出其中最大值。
接收三个数值并输出其中最大值接收三个数值,并输出最大值#include &lt;stdio.h&gt;int main(){ int max(int x, int y, int z);//定义一个需要被调用的函数 int a,b,c,e; //定义需要接收并输出的变量 scanf("%d,%d,%d",&amp;a,&amp;b,&am
2018-03-20 12:32:57
9906
原创 打印100-200之间素数,乘法口诀表,判断1000-2000年之间的闰年(Day_01)
写代码一定要有风格版式风格版式虽然不影响程序的正常运行,但是会直观的给人一种影响。有条有序的代码与杂乱无章的代码会给读者带来不一样的感受,试想谁愿意看乱七八糟的一堆代码呢? 我把目前学到的风格版式先分享一下适当的加入空行与换行在引入头文件后与主程序之间加入空行,在一句代码/各类括号后换行例如:#include &lt;stdio.h&gt;//空行int main()...
2018-03-19 00:21:05
379
原创 两个数平均值&交换两个数的值&关机小程序
几个简单的小编程求两个数的平均值两数相加除二#include &lt;stdio.h&gt; int main (){ int a = 10; int b = 20; int sum = (a+b)/2;//存在缺陷,int定义有最大值 printf ("两个数的平均值sum为%d\n " , sum); return 0 ;}各自除二相加...
2018-03-14 12:58:30
267
原创 2018.3.10关机小程序
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char input[10]={0}; system ("shutdown -s -t 60");flag: print("请注意,电脑将会在一分钟之内关机!如果输入“我是猪",就取消关机.\n"); scanf("%..
2018-03-10 18:38:40
349
原创 2018.3.10交换两个数的值
#include <stdio.h>int main(){ int a=10; int b=20; printf("a=%d "a,"b=%d ",b); int sum0; sum=a; b=sum; a=b; printf("a=%d "a,"b=%d ",b); retun(0);}{ int a=10; int b=20; printf("a=%d...
2018-03-10 13:30:56
183
原创 2018.3.10求两个整型的平均值
#include <stdio.h>int main(){ int a=10; int b=20; int sum=(a+b)/2; printf("%d ",sum); retun(0);}{ int a=10; int b=20; int sum=a/2+b/2; printf("%d ",sum); retun(0);}{ int a=10; int b=...
2018-03-10 13:10:33
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人