自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 死锁产生的原因以及避免死锁的算法

一.死锁的概念在多道程序系统中,虽可借助于多个进程的并发执行,来改善系统的资源利用率,提高系统的吞吐量,但可能发生一种危险━━死锁。所谓死锁(Deadlock),是指多个进程在运行中因争夺资源而造成的一种僵局(Deadly_Embrace),当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到的资源,这种现象

2017-03-31 23:23:58 8433

原创 linux笔记之条件变量

一.概念:同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。通俗来讲,互斥只是实现了安全问题,而有的时候,它并不高效,所以在此引出了条件变量,它可以用来实现高效。互斥锁和条件变量分别用来实现互斥和同步,是一对黄金搭档。二.涉及的函数创建一个条件

2017-03-31 21:27:03 1845

原创 c++基础值链表基本操作

SeqListD.cinclude”SeqListD.h”void InitList(PNode* pHead) { assert(pHead); *pHead=NULL; } Node *BuyNode(DataType data) { Node pNewNode=(Node)malloc(sizeof(Node)); if(pNewNode

2017-03-29 22:15:52 595

原创 任意数制间的转换

这是在今年的cvte笔试题中做过的一个题目,是将任意的M进制数转换为N进制数。具体代码如下:#include<stdio.h>void m2n(int m, char* mNum, int n, char* nNum) { int i = 0; char c, *p = nNum; //这是一个考察地方,是否能用最少乘法次数。 while (*mNum != '\0

2017-03-29 12:13:58 365

原创 C++基础之多态

一.多态概念多态:一词最初来源于希腊语,意思是:多种形态。多态分为静态多态和动态多态。静态多态分为函数重载和泛型编程。动态多态是通过虚函数来实现的。静态多态(叫静态绑定或早绑定):编译器在编译期间完成的,,编译器可以根据函数实参的类型(可能会进行隐式的类型转换)注意:宏不是静态多态,宏是在预处理阶段完成的动态多态(又叫动态绑定或者晚绑定):在程序执行期间判断所引用对象的实际类型根据其实际类型

2017-03-27 15:19:35 305

原创 linux笔记之浅谈互斥锁

一.用代码实现多线程#include<stdio.h>#include<pthread.h>void* start_routine(void* val){// int count=5000;// int i=0; while(count) { sleep(1); printf("I am a new thread:tid:%lu,pid:%

2017-03-23 22:39:06 237

原创 linux笔记之有关分离线程

一.概念一般创建出来的线程默认属性是可结合的,所以每个线程退出时,必须调用pthread_join函数等待,否则会出现类似于僵尸进程的线程。一个可分离线程不需要被等待的,它的存储器的资源在它终止时,由系统自动释放。如果线程被自己分离或者被主线程分离,则不需要使用pthread_join,一旦使用则会出错。在子线程中加入代码pthread_detach(pthread_self());在父线

2017-03-23 13:52:18 312

原创 linux笔记之多线程编程

一.概念1.线程是在进程内部运行的一种执行流,线程在进程的地址空间中运行 2.linux下的进程是只有一个线程的进程, linux下的线程是用进程模拟出来的(并没有真正意义上的线程)。 3.linux下的线程叫轻量级进程。 4.创建一个线程只需要创建一个pcb即可。 5.进程与线程的区别:进程是分配系统资源的基本单位。调度的进本单位是线程6.线程的私有(最重要的两点)每个线程在

2017-03-23 13:01:46 259

原创 判断矩形面积交

一.问题描述:平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。 输入格式   输入仅包含两行,每行描述一个矩形。   在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。 输出格式   输出仅包含一个实数,为交的面积,保留到小数后两位。 样例输入 1 1 3 3

2017-03-19 12:25:09 299

原创 矩阵乘法

一.原题: 拿到题目之后,突然忘了之前学的线性代数的乘法,然后百度了一下,如下图: 简而言之就是横乘竖然后相加 技巧:不难看出,组成C11的三组相乘的数中,a的i和b的j没有变,而a的j和b的i都稳定增长1二.源代码:#include <stdio.h>#include <string.h>#define N 100int A[N][N],t[N][N],r[N][N];int m

2017-03-18 16:26:47 939

原创 蓝桥杯之分解质因数

一.题目为下图:二.源代码:#include<stdio.h>void prime_num(int i){ int j=0,t=0; int m=0; m=i; for(j=2;j<i;j++) { while(m>2) { t=m/j; if(m%j==0&&t>=2)

2017-03-18 09:21:51 501

转载 Git使用指南

一、Git是什么?Git是目前世界上最先进的分布式版本控制系统二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就

2017-03-17 21:23:15 308

原创 蓝桥杯之时间转换

原题:源代码#include<stdio.h>int main(){ int get=0; int h=0,m=0,s=0; scanf("%d",&get); if(get>=3600) { h=get/3600; get%=3600; } else { h=0; }

2017-03-16 22:55:30 395

原创 linux笔记之消息队列

一.IPC主题之消息队列消息队列:一个进程向另一个进程提供有类型数据块的模板。数据块:例如 一边发一百个字节的数据块,则另一边接收一百个字节的数据块,少了任何一部分,这一块都是无效的。而流是写多少读多少,传的数据无明显的格式要求。内核为每个IPC对象维护一个数据结构struct ipc_prem()//围绕着消息队列的权限问题的源信息{...};每一个IPC特有一个数据结构str

2017-03-16 22:10:38 198

原创 linux笔记之共享内存

一.IPC之共享内存1.进程间通信的三种方法:消息队列信号量共享内存2.共享内存的优点: 运行时省去了若干次拷贝,是以上三种程序间通信中最快的 3.共享内存的缺点 消息队列 管道等自带同步或互斥机制,而共享内存不自带,故需要使用信号量来实现共享内存的互斥和同步。二.用代码实现共享内存1.创建共享内存//int Creat_shm(int size) 创建代码调用的函数 以上图

2017-03-15 23:05:43 258

原创 c++基础之模板函数

一.引入模板如果现在需要定义一个通用的加法函数。 我们首先会想到函数重载:即针对每个所需相同行为的不同类型,重新实现它#include<iostream>using namespace std;int Funtest1(const int& left,const int& right){ return left+right;}float Funtest2(const floa

2017-03-13 21:43:10 227

原创 蓝桥杯之报时助手

废话不多说,上图: 下面插入代码:#include<stdio.h>int main(){ int h=0,m=0; char arr[50][50]={"zero","one","two","three","four","five","six","seven", "eight","nine","ten","eleven","twelve","thirteen"

2017-03-12 16:50:25 387

原创 linux笔记之信号量

1信号量的概念 信号量的本质是一种数据操作锁,它本身不具有数据交换的功能,而是控制其他的通信资源(文件,外部设备)来实现进程间通信,它本身只是一个外部资源的标识。 信号量的本质就是一个计数器 信号量是用来描述临界资源的数目。 因为信号量本身可以被多个进程看见,故信号量本身也是一种临界资源。2信号量的两个操作 信号量只有两种操作,即P(sv)和V(sv)它们的行为是这样的:

2017-03-11 17:07:30 280

原创 蓝桥杯之贪心 Huffuman

题目是这样的: 1.本题需要使用的是贪心算法:- 贪心算法的基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状

2017-03-09 15:14:37 891

原创 蓝桥杯之高精度算法

接下来废话不多说 ,大家看下蓝桥杯的原题截图: 一个很简单的编程题,接下来这个是我的代码:#include<stdio.h>#define MAX 3000int main(){ int arr[MAX]={0}; int i=0,len=0; int num=0,num_cpy=0,flag=0; scanf("%d",&num); num_cp

2017-03-08 22:46:02 832

原创 c++基础之继承

一.继承的概念        继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序在保持原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。二.继承的引入    通过以下的手机发展史,我们可以看到,一个新一代的手机,它的身上不光有它自己的重新开发出来的功能,还继承了上

2017-03-05 10:24:20 370

原创 简单c实现无头单链表的相关操作

实现无头单链表的以下操作:// 使用递归实现从未到头打印单链表void PrintFromTail2Head(PNode pHead);// 删除单链表的非尾结点void DeleteNotTailNode(PNode pos);// 在单链表非头结点前插入结点datavoid InsertNotHeadNode(PNode pos, DataType data);

2017-03-03 23:15:22 239

原创 简单c之实现顺序表的以下接口

1、实现动态顺序表的以下接口SeqListD.h#include#include#includetypedef int DataType;typedef struct SeqListD{DataType* array;size_t capacity;   // 空间的实际大小--存放元素的最大个数size_t size;  

2017-03-03 23:10:18 341

原创 简单c之模拟实现mem类函数

1.模拟实现memcpy#include#includevoid* my_memcpy(void* dest,void* src,int count){char* pdest=(char*) dest;//必须要把目标数组跟原数组强制转化为char*指针,因为count需要一个一个字节拷贝。char* psrc =(char*) src;        asse

2017-03-03 22:52:33 262

原创 简单c之模拟实现str类函数

1.模拟实现strcpy#include#includechar* my_strcpy(char* arr,const char* p){assert(arr);assert(p);while(*arr++=*p++);return arr;}int main(){char arr[20];my_strcpy(arr,"abcdef"

2017-03-03 22:51:18 260

原创 简单c编程之实现通讯录

要求:实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址contact.c#include#include"contact.h"#include#includevoid menu(){printf("********************************\n");printf("**

2017-03-03 22:27:21 402

空空如也

空空如也

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

TA关注的人

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