- 博客(10)
- 资源 (12)
- 收藏
- 关注
原创 双向循环链表的应用
#ifndef DOUBLELINKEDLIST_H#define DOUBLELINKEDLIST_H/* 1.本库文件基于双向循环链表的应用 2.参考Linux内核源码的list.h文件 3.详细说明查看自己总结的文档《Linux中List.h文件的分析和应用》*/#include #include #include struct list_head { st
2016-05-29 12:24:43 1080
原创 用链表实现堆栈--链式栈
/* 一、关于链式栈的约定,(目的是在C语言中描述方便) 1.定义: (1)堆栈是一种先进后出的线性表; (2)它只允许在表的一端(栈顶)进行入栈和出栈运算,另一端为栈底,入栈和出栈时不需 要改变栈底指针; (3)运算受限的非循环单链表,它没有头结点,尾结点即栈底,栈底不存放有效数据, 只是指针域为NULL,链表中的插入删除操作在这里只能在栈顶进行。
2016-05-29 12:24:16 650
原创 用链表实现队列--链式队列
/* 一、关于链式队列的约定(目的是在C语言中描述方便) 1.定义: (1)队列是一种先进先出的线性表; (2)它只允许在表的一端进行入队,在另一端进行出队操作。在队列中,允许插入的一端 叫队尾,允许删除的一端较队头,即入队只能从队尾入,出队只能从队头出; (3)运算受限的非循环单链表,头尾结点都有,链表中的插入删除操作在这里只能在队头 队尾进行。
2016-05-29 12:22:52 8475
原创 线性表的链式存储结构(动态链表)
/* 一,数据结构书上对程序LinkedList.c的某些定义 1.线性表的链式存储结构 2.对于线性表的链式存储结构,不要求逻辑上相邻的元素在物理位置上也相邻,因此它没有顺序存储结构所具有的弱点,但也同时失去了顺序表可随机存取的优点。 3.链表中的几个定义: (1)首结点,存放第一个有效数据的结点。 (2)尾结点,存放最后一个有效数据的结点,指针域为NULL。 (3)头结
2016-05-29 12:16:29 583
原创 用数组实现队列--静态队列
/* 一、关于静态队列的约定(目的是在C语言中描述方便) 1.定义:和栈相反,队列是一种先进先出的线性表,它只允许在表的一端进行插入,在另一端进行删除元素。在队列中,允许插入的一端叫队尾,允许删除的一端较队头,即入队只能从队尾入,出队只能从队头出。 2.初始化建空队列时,令front=rear=0;入队时,队尾指针rear增1;出队时队头指针增1。在非空队列中,队头指针front
2016-05-29 12:14:44 909
原创 线性表的顺序存储结构(动态数组)
/* 一、数据结构书上对程序ArryList.c的某些定义 1.线性表的顺序存储结构 2.特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素。它的存储位置可用一个简单、直观的公式来表示。但这个特点也铸成了这种存储结构 的弱点:在作插入和删除操作时,需要移动大量元素。 二、写ArryList.c的目的: 1.提升写代码能力 2.体现存储
2016-05-29 12:04:26 386
转载 函数指针和回调函数
C++很多类库都用回调函数,比如MFC中的定时器,消息机制,hook机制等。回调函数与QT中的信号-槽机制很像,但回调更快,而信号-槽更灵活。1. 回调函数什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,那么这就是回调机制。A函数就是回调函数,而通常情况下,A函数是系统在符合你设定条件
2016-05-28 11:02:25 336
原创 关于联合体
一、联合体 联合体的每个成员共享一块内存,这块内存的大小就是联合体占用内存的大小。这块内存至少有其中占用内存最大成员的大小,有时候大于是因为有时候要考虑内存对齐。二、联合体的作用1. 可以判断平台属于大端存储还是小端存储2. 共享内存(进程间通信)的时候可以使用3. 在通信程序中,有时候要发送浮点型数据,为了方便操作,可以定一个联合体,联合体的一个成员为浮点数,
2016-05-12 22:32:08 589
原创 关于多线程、安装信号、长跳转、数据结构等的例子
#include #include #include //告诉驱动程序pid以及系统调用fcntl的头文件#include #include //告诉驱动程序pid#include #include //系统调用fcntl的头文件,文件控制定义#include #include #include //错误号定义#include #include #include #inc
2016-05-12 22:20:23 544
转载 Linux线程中pthread_join和pthread_detach函数
创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该调用pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于wait,waitpid)。 但是调用pthread_join(pthread_id)后
2016-05-12 21:48:37 1261
Linux源码List.h文件详细分析(链表、队列、堆栈、哈希表等)
2017-11-15
u-boot顶层makefile、mkconfig、config.mk文件分析
2014-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人