
Program Theory
AresDing
怪我咯。。。。
展开
-
AVL树C语言实现
参考: https://www.cnblogs.com/skywang12345/p/3576969.htmlAVLTree.h#ifndef _AVL_TREE_H_#define _AVL_TREE_H_typedef int Type;struct AVLTreeNode { Type key; int height; struct AVLTreeNode *left; struct AVLTreeNode *right;};// 获取AVL树的高度原创 2021-03-17 19:42:29 · 651 阅读 · 0 评论 -
二叉树的构建(C语言实现)
二叉树的构建前序序列+中序序列struct BTNode* CreateBT(int* pre, int* in, int n) { struct BTNode* s = NULL; int k = 0, *p = NULL; if (n<=0) { return NULL; } s = (struct BTNode *)malloc(sizeof(struct BTNode)); s->data = *pre; for原创 2020-11-25 14:48:41 · 407 阅读 · 0 评论 -
二叉树的遍历(C语言实现)
二叉树的遍历(C语言实现)二叉树的结构体定义typedef struct _BTNode { int val; struct _BTNode *lchild; struct _BTNode *rchild;}BTNode;前序遍历[0] 递归实现void PreOrder(BTNode *root) { if (!root) { return; } printf("%d ", root->val); PreOrder原创 2020-11-21 16:21:54 · 366 阅读 · 0 评论 -
ARM平台下独占访问指令LDREX和STREX的原理与使用详解(转载)
为了实现线程间同步,一般都要在执行关键代码段之前加互斥(Mutex)锁,且在执行完关键代码段之后解锁。为了实现所谓的互斥锁的概念,一般都需要所在平台提供支持。本文主要用来说明ARM平台上特有的独占访问指令LDREX和STREX的工作原理,以及如何使用。而它们也是ARM平台上,实现互斥锁等线程同步工具的基础。我们先来看看LDREX和STREX两条指令的语义。其实LDREX和STREX指令,是将单纯的更新内存的原子操作分成了两个独立的步骤。1)LDREX用来读取内存中的值,并标记对该段内存的独占访问转载 2020-05-25 15:29:52 · 1301 阅读 · 0 评论 -
LCD液晶屏最常见的几种接口方式
转载自:http://www.mqlcd.com/315.htmlLCD液晶屏的接口方式有:MCU,RGB,MIPI,LVDS,TTL,EDP等等,这几种接口最为常见MCU液晶屏接口一般在小尺寸上比较多,如:2.0寸,2.31寸,2.4寸,2.8寸等等,MCU模式需要的信号有WR,RD,RS,RESET,CS。MCU接口主要应用于单片机控制RGB液晶屏接口方式于MCU接口类似,一般应...转载 2020-04-07 15:56:36 · 6016 阅读 · 0 评论 -
一种环形队列的C语言实现---RingBuffer
// RingBuffer.h#ifndef __RINGBUFFER_H__#define __RINGBUFFER_H__// 如果要使用在C++中 则使用该宏定义片段// #ifdef __cplusplus// extern "C"// {// #endif#include <unistd.h>#include <pthread.h>typ...原创 2020-03-27 23:54:44 · 711 阅读 · 0 评论 -
Linux为何操作网卡设备和其他设备不同的原因
文章转载自:https://blog.youkuaiyun.com/iteye_5014/article/details/81824895###这个问题其实没有什么意思,知道了问题的答案能表明一个人技术水平有多高吗?不能!这个问题有答案以及有意义吗?答案都是没有!那我还为何一直对这个问题死死揪住不放?这类问题可以提高一个人的素质以及了解一段关于网络和unix的历史,正是因为这些都很有趣,才如此值得关注。...转载 2020-03-19 10:42:30 · 270 阅读 · 0 评论 -
g++/gcc -I(大写的i) -l -L 解释
-I(大写的i) -I ./include/path 用于设置首选头文件目录路径, 中间有空格;-l -lm ltest 用于指定程序需要链接的库名称, 中间无空格;-L ./lib/path/ 用于设置首选库文件目录路径, 中间有空格;...原创 2020-02-19 12:36:12 · 521 阅读 · 0 评论 -
do{...}while(0)的好处
转载自:http://www.cnblogs.com/charlesblc/p/6080315.html在开源软件里面经常可以看到这样的写法。#define X(a) do { f1(a); f2(a); } while(0)1. 主要作用是放在宏定义里面,避免宏带来的语法问题。比如#define DOSOMETHING()\ cmd1;\ ...转载 2019-03-28 23:30:57 · 187 阅读 · 0 评论 -
C语言编程代码分析0
1. #include "stdlib.h"2. char* test(char *ptr)3. {4. unsigned char i;5. char buf[8*1024];6. char *p, *q;7. 8. 9. for(i = 0; i 10. {11. buf[i] = 0x0;12. }13.14. p = malloc原创 2014-10-29 20:49:49 · 846 阅读 · 0 评论 -
C语言中函数参数是自增或自减情况分析
案例代码:#include int fun(int a, int c, int d){printf}原创 2014-09-19 12:06:53 · 2918 阅读 · 2 评论