自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 哲学家就餐问题

问题描述:有五个哲学家绕着圆桌坐,每个哲学家面前有一盘面,两人之间有一支筷子,这样每个哲学家左右各有一支筷子。哲学家有2个状态,思考或者拿起筷子吃饭。如果哲学家拿到一只筷子,不能吃饭,直到拿到2只才能吃饭,并且一次只能拿起身边的一支筷子。一旦拿起便不会放下筷子直到把饭吃完,此时才把这双筷子放回原处。如果,很不幸地,每个哲学家拿起他或她左边的筷子,那么就没有人可以吃到饭了.分析问题:1.有五个哲学家,5个筷子.2.只有一个哲学家拿到左右两个筷子时,才可以进餐.3.那么食物就是五个哲学家的共享资源,哲

2020-06-05 18:56:18 449 1

原创 Linux c生产者消费者模型

一.生产者消费者问题生产者消费者共享缓冲区,生产者向缓冲区中放数据,消费者从缓冲取中取数据,当缓冲区中被放满时,生产者进程就必须进入挂起状态,直到消费者从缓冲中取走数据时,生产者才能继续向缓冲区中存放数据,同样当缓冲取中没有数据时,消费者进程就必须进入挂起休眠状态,直到生产者向缓冲区中放入数据时,消费者才能被唤醒继续从缓冲区中取走数据。1. 单生产者和单消费者(用条件变量来实现) 1.生产者和消费者各用一个线程 pthread_t p1; pthread_t p2; 2. 生产者生产物

2020-06-05 18:55:35 298 1

原创 my_ls总结

刚开始写my_ls很没有头绪,因为对一些函数都很陌生,看过就又忘了,所以刚开始,就是照着Linux_c文件操作后面的例子抄的,然后通过函数之间的调用,慢慢的读代码,然后最后有了思路之后,就自己重新写了一个.首先ls中主要就是应用了Linux文件操作的相关知识.获取目录信息的函数(1).opendir函数 ----------->用来打开参数name指定的目录函数所需头文件:#i...

2020-04-07 10:08:42 380

原创 linux-c进程控制

一.进程相关的概念:1.什么是程序?答:编译好的二进制文件2.什么是进程?答:运行着的程序, 运行一系列指令的过程, 在操作系统角度:分配系统资源的基本单位3.程序与进程的区别?答:(1) 程序占用磁盘,不占用系统资源 (2) 内存占用系统资源 (3) 一个程序对应多个进程,一个进程对应一个程序 (4) 程序没有生命周期,进程由生命周期4.单道...

2020-03-29 18:22:36 193 2

原创 背包问题

01背包问题题目:有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。第 i件物品的体积是 vi,价值是 wi求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。分析:这是一道典型的动态规划背包问题,往背包里面装物品,那么就要面临装与不装的两个问题。动态规划问题,最重要的一步就是要找到状态转移方程,这里我们先用 f[i][j] 表示...

2020-02-20 13:58:18 299 1

原创 小组面试题总结

内存分区先来看看程序运行时的5个大的内存分区:栈区由编译器自动分配释放,存放函数参数值,局部变量的值,类似于数据结构中的栈堆区由程序员分配释放,如果程序员不释放,程序结束时可能由操作系统回收,malloc或者new出来的在这里存放代码区顾名思义,存放程序代码的,只读区域数据区1.未初始化: BSS 段存放的是未初始化的全局变量与静态变量,并且都被赋初值为...

2020-02-20 13:56:59 319

原创 假期学习dfs(深搜)

深度优先搜索的关键在于当下如何做,然后采用递归的方法,进行下一步的搜索,直到到达边界或者是其他的条件限制.这里用一个简单的搜索案例引入:要求输入一个数,然后输出1~n的全排列:试想一下假如有3个数字即(n==3),首先对于第一个位置,我们可以放1或2或3。 如果为1,然后手里剩余2和3,然后继续在第二个位置。既可以放2,又可以放3,那么第二个位置,1就不可以再放了, 所以我们...

2020-01-22 19:48:00 149

原创 初学树相关知识点总结(真的看的头疼)

一.树 树在计算机领域的应用 1.编译:用树表示源程序的语法结构 2.数据库系统:用树组织信息 3.算法分析:用树描述执行过程(1)树的定义(递归定义):树是n个(n>=0)个结点的有限集若n = 0,称为空树若n > 0,则满足下列两个条件:1.有且只有一个特定的根(root)结点→(根节点没有前驱结点);2. 其余结点可分为m个互不相交...

2020-01-22 12:16:58 252

原创 循环链表实现约瑟夫环

1.循环链表对于普通的链表,我们都知道,有一个指针域与一个数据域,一直从头节点开始,往下顺延,那么循环链表其实并不难,就只是在普通的单向有头节点的基础上,让末节点的指针域指向头节点head即可。2.那我们现在来看一下约瑟夫环的问题:约瑟夫环问题,是一个经典的循环链表问题,题意是:已知 n 个人(分别用编号 1,2,3,…,n 表示)围坐在一张圆桌周围,从编号为 k 的人开始顺时针报数,数到...

2019-12-23 15:19:05 309 1

原创 memset函数的初识以及相关的运用

1.首先这个memset函数又叫初始化函数,它的作用是将某一块内存中的内容全部设置为指定的值,但一定要注意memset函数是以字节为单位进行赋值的.2.这个函数经常适用于字符数组的清空,我也是通过同学的讲解才了解并认识这个函数的,在好几次做有关字符数组的题的时候都会用到这个函数.3.既然说到函数,那必然少不了函数原型,void memset(void s, int ch, size_t n)...

2019-12-16 18:02:18 178

原创 初识快速排序法

快排1.为什么要用快排?因为一旦遇到大量的数据,快排相对别的排序方法来说,用时更短,而不用其他的排序方法,循环好多次。例如冒泡排序法,我们知道需要两个循环,一个是控制交换的趟数,一个是控制冒泡比较的数量,例如下面://只用来说明上述问题,代码并不全for(i=0 ; i < n ; i++){ for(j=0; j<n-i-1 ; j++) { .............

2019-12-08 19:33:16 138

原创 const的初识

const刚开始认识它,是在一份“沉甸甸”面试题里,从开始到现在了解它,还不足一个月,下面就浅谈一下我对const的理解。 首先,const的在英文解释里就是常量,而我们又知道,内存中有一个常量区,它是只读的,不可被修改的,所以用const可以强制保护你的数据不会被修改,例如下面的这段代码:#include<stdio.h>int main(){ const char p[...

2019-12-01 14:58:45 109

空空如也

空空如也

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

TA关注的人

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