随笔分类 -  郝斌c语言数据结构算法

1 2 下一页

linux网络编程-一个简单的线程池(41)
摘要:有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带来的开销,我们可以使用线程池 1、线程池拥有若干个线程,是线程的集合,线程池中的线程数目有严格的要求,用于执行大量的相对短暂的任务,线程池中线程的数目一般小于并发的任务量,如果此时存在大量的并发的任务需要执行 ,由于线程池 阅读全文

posted @ 2017-07-11 15:22 luzhouxiaoshuai 阅读(259) 评论(1) 推荐(0) 编辑

linux网络编程-posix条件变量(40)
摘要:举一个列子来说明条件变量: 假设有两个线程同时访问全局变量n,初始化值是0, 一个线程进入临界区,进行互斥操作,线程当n大于0的时候才执行下面的操作,如果n不大于0,该线程就一直等待。 另外一个线程也是进入临界区,修改n的值,当修改了n的值后,需要向等待中的线程发送通知,修改了n的值。但是现在存在这 阅读全文

posted @ 2017-07-04 11:22 luzhouxiaoshuai 阅读(220) 评论(0) 推荐(0) 编辑

linux网络编程-posix信号量与互斥锁(39)
摘要:-posix信号量信号量 是打开一个有名的信号量 sem_init是打开一个无名的信号量,无名信号量的销毁用sem_destroy sem_wait和sem_post是对信号量进行pv操作,既可以使用在有名的信号量也可以使用在无名的信号量 无名信号量是否意味着它不能够用于不同进程的多个线程之间的通信 阅读全文

posted @ 2017-07-03 13:30 luzhouxiaoshuai 阅读(219) 评论(0) 推荐(0) 编辑

linux网络编程-socket(37)
摘要:在编程的时候需要加上对应pthread开头的头文件,gcc编译的时候需要加了-lpthread选项 第三个参数是线程的入口参数,函数的参数是void*,返回值是void*,第四个参数传递给线程函数的参数 如果创建线程失败,返回值是一个错误码,错误码通过返回值返回,我们要进行错误检查就检查函数的返回值 阅读全文

posted @ 2017-06-28 19:45 luzhouxiaoshuai 阅读(221) 评论(0) 推荐(0) 编辑

linux网络编程-socket(36)
摘要:进程是程序的一次动态执行的过程,进程是短暂的。 一个程序可以对应多个进程,可以打开多个记事本程序,存在多个进程。 线程是进程内部中的控制序列,一个进程至少有一个执行线路。 一个进程可以存在多个线程 阅读全文

posted @ 2017-06-28 15:59 luzhouxiaoshuai 阅读(132) 评论(0) 推荐(0) 编辑

linux网络编程-socket(2)
摘要:当客户端调用close函数的时候,服务器的read函数读到的数据是0读到文件结束通知,表示对端关闭了tcp连接 我们现实实现下面的功能: 1、tcp客户端从标准的输入流中得到输入数据发送到服务器,服务器收到数据之后,不做任何改变,将书法返回给客户端,客户端收到服务器的数据之后,在标准输出流中输出 上 阅读全文

posted @ 2017-06-27 17:49 luzhouxiaoshuai 阅读(243) 评论(0) 推荐(0) 编辑

linux网络编程-socket(1)
摘要:上面是对应的IpV4的地址结构: sin_len整个结构的大小 sin_family协议族,对应Tcp固定为AF_INET,除了tcp协议外还支持unix域协议等 sin_port socket通信的端口 sin_addr是一个无符号的32位的网络字节地址 上面的结构体仅仅支持IPv4地址协议,如果 阅读全文

posted @ 2017-06-27 16:39 luzhouxiaoshuai 阅读(139) 评论(0) 推荐(0) 编辑

c++教程网经典的c语音学习视频教程
摘要: 阅读全文

posted @ 2017-06-25 09:02 luzhouxiaoshuai 阅读(313) 评论(0) 推荐(0) 编辑

c语言中的c语言中realloc()函数解析
摘要:c语言中realloc()函数解析 真是有点惭愧,这些内容本应该很早就掌握的,以前只是糊里糊涂的用,不知道在内存中具体是怎么回事,现在才弄清楚。 realloc(void *__ptr, size_t __size):更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。 如果将 阅读全文

posted @ 2017-06-21 08:06 luzhouxiaoshuai 阅读(516) 评论(0) 推荐(0) 编辑

c语音学习笔记
摘要:1、学习教程参考了杨光福 android jni Android视频《JNI》 http://edu.csdn.net/course/detail/3235/54186?auto_start=1 java的基本数据类型和c语音不同的地方 一、数据类型与“模子”short、int、long、char、 阅读全文

posted @ 2017-06-21 08:05 luzhouxiaoshuai 阅读(597) 评论(0) 推荐(0) 编辑

linux下的c语言编程学习笔记
摘要:视频参看csdn学院王阳和下面的linux环境下c语言编程基础相当的经典,其中王阳的视频讲的很好,相当的经典 编译hellogcc.c需要依赖/home目录下的头文件 为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够 阅读全文

posted @ 2017-06-06 19:19 luzhouxiaoshuai 阅读(364) 评论(0) 推荐(0) 编辑

47 _ 循环队列程序演示.swf
摘要:通过上面的分析我们已经对循环队列很了解了,现在我们来学习下循环队列的实现形式 1、代码使用数组现实循环队列 阅读全文

posted @ 2017-06-05 21:38 luzhouxiaoshuai 阅读(206) 评论(0) 推荐(0) 编辑

39 _ 队列5 _ 循环队列需要几个参数来确定 及其含义的讲解.swf
摘要:上面讲解都是循环队列,如果是链表实现的话就很简单,队列只有循环队列才比较复杂 此时队列中只存储一个有效元素3,当在删除一个元素的时候,队列为空,pFont向上移动,pFont等于pRear,但是此时pFont的值不为null 1、下面分析下如何向队列中添加元素 我们添加元素的时候只有在pRear的地 阅读全文

posted @ 2017-06-05 20:17 luzhouxiaoshuai 阅读(302) 评论(0) 推荐(0) 编辑

35 _ 队列1 _ 什么是队列.swf
摘要:队列是一种可以实现一个先进先出的存储结构 什么是队列? 队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。 栈,只能在栈顶进行操作,队列是一端进入,一端输出 队列也是头部和尾部 rea 阅读全文

posted @ 2017-06-05 18:51 luzhouxiaoshuai 阅读(327) 评论(0) 推荐(0) 编辑

33_栈程序演示.swf
摘要:pBottom执行栈底有效元素的前一个节点,该节点没有存储有效数据,这样设计是便于栈的管理,向链表一样pHead指向链表的第一个节点,该节点是不存储有效数据的 pTop执行栈顶最新的节点 如果pTop和pBottom的值一样,说明栈是空的 经过初始化栈之后,栈的结构是: 向栈中添加一个数据 所以pB 阅读全文

posted @ 2017-06-05 15:25 luzhouxiaoshuai 阅读(164) 评论(0) 推荐(0) 编辑

31_栈的分类.swf
摘要:栈的分类: 栈可以分为静态栈和动态栈 静态栈:要删除先删除4才能删除3,以数组为数据结构 动态栈:以链表作为数据结构,在实际中使用动态栈比较多 阅读全文

posted @ 2017-06-05 14:26 luzhouxiaoshuai 阅读(225) 评论(0) 推荐(0) 编辑

30_栈的定义.swf
摘要:上面的局部变量 i int*p中的p指针变量,是在栈中分配的,malloc申请的内存是在堆中分配的,动态申请的都在堆中分配的。 栈是一种数据存储的结果,先进后出的数据结构。 阅读全文

posted @ 2017-06-05 14:23 luzhouxiaoshuai 阅读(119) 评论(0) 推荐(0) 编辑

28_链表插入和删除算法的演示.swf
摘要:#include #include #include #include typedef struct Node{ int data;//数据源 struct Node* pNext;//指针域 }NODE,*PNODE; // NODE等价于struct Node,PNODE等价于struct Node*; //函数的声明 //创建一个非循环的链表 PNODE... 阅读全文

posted @ 2017-06-05 14:13 luzhouxiaoshuai 阅读(162) 评论(0) 推荐(0) 编辑

26_通过链表排序算法
摘要:程序的运行结果是 : 阅读全文

posted @ 2017-06-05 13:56 luzhouxiaoshuai 阅读(191) 评论(0) 推荐(0) 编辑

25_判断链表是否为空+和+求链表长度
摘要:#include #include typedef struct Node{ int data;//数据源 struct Node* pNext;//指针域 }NODE,*PNODE; // NODE等价于struct Node,PNODE等价于struct Node*; //函数的声明 //创建一个非循环的链表 PNODE create_list(void){ ... 阅读全文

posted @ 2017-06-05 11:23 luzhouxiaoshuai 阅读(283) 评论(0) 推荐(0) 编辑

1 2 下一页

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

点击右上角即可分享
微信分享提示