【数据结构】栈的应用——括号匹配问题
摘要:括号匹配问题: 给一个字符串,其中包含小括号、中括号、大括号,求该字符串中的括号是否匹配。 例如:()()[]{} 匹配([{()}]) 匹配[]( 不匹配[(]) 不匹配 利用堆栈的思路:建立一个堆栈,然后遍历字符串,如果是'(','{'.'[',则入栈,否则判断当前字符串和栈顶元素是否是一对括号
阅读全文
posted @
2020-03-20 14:12
uTank
阅读(540)
推荐(0)
【数据结构】堆栈的基本操作
摘要:堆栈的概念:是一组相同类型数据的集合,并且拥有后进先出的特点,所有的操作都在堆栈顶端进行。 堆栈的基本操作: Init 创建一个空堆栈Push 把数据压入堆栈顶端Pop 从堆栈顶弹出数据Top 从栈顶取数据Empty 判断堆栈是否为空堆栈,是则返回true,否则返回falseFull 判断栈是否为满
阅读全文
posted @
2020-03-20 11:35
uTank
阅读(3406)
推荐(0)
【TLV】非递归TLV数据解析
摘要:1 #include 2 3 4 #define X_LEN_OF_TAG_MAX ( 2 ) 5 #define X_LEN_OF_LEN_MAX ( 2 ) 6 7 struct st_tlv_t { 8 unsigned int TAG; 9 unsigned char isCustructed; ...
阅读全文
posted @
2018-03-29 17:19
uTank
阅读(826)
推荐(0)
C语音,关于可变参数的宏定义
摘要:1 typedef char * va_list; // TC中定义为void* 2 3 //为了满足需要内存对齐的系统 4 #define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) ) 5 6 //ap指向第一个变参的位置,即将第一个变参的地址赋予ap 7 #define va_st...
阅读全文
posted @
2017-06-06 17:59
uTank
阅读(292)
推荐(0)
打印GBK、GB2312字符集全字符
摘要:根据编码表填充数据就可以了~~~~(>_<)~~~~~\(≧▽≦)/~啦啦啦
阅读全文
posted @
2017-04-17 14:21
uTank
阅读(2686)
推荐(1)
PPP 转义字符 编码 和 解码
摘要:1 #include 2 #include 3 4 // PPP数据帧每一帧都以标识字符0x7E开始和结束; 5 // 由于标识字符的值是0x7E,因此当该字符出现在信息字段中时,PPP需要对它进行转义。 6 // 当PPP使用异步传输时,它把转义字符定义为:0x7D,并使用字节填充RFC-1662标准。 7 // 字节填充RFC-1662标准规定如下: 8...
阅读全文
posted @
2016-09-20 15:28
uTank
阅读(4448)
推荐(0)
一个assert的写法
摘要:1 char assert_buf[512]; 2 int assert_buf_len; 3 4 #ifdef XXX_DEBUG 5 #define assert(expr, ...) \ 6 do{ \ 7 if ((!(expr))) \ 8 {\ 9 char *str = __FILE__; \ 10 int ...
阅读全文
posted @
2016-08-08 18:34
uTank
阅读(566)
推荐(0)
从一个数组中提取出第start位到第end位
摘要:假设通过数组in来表示一个很大的数(in[0]表示最低bit),提取该数的第start位到第end位(计数起始位为0):
阅读全文
posted @
2016-06-08 16:52
uTank
阅读(904)
推荐(0)
大数加法、乘法
摘要:1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 5 // x1 + x2 = yy 6 int add_1(char *x1, char *x2, char *yy) 7 { 8 int x1_len, x2_le
阅读全文
posted @
2015-12-18 23:55
uTank
阅读(282)
推荐(0)
练习题-二维数组中的查找
摘要:《剑指offer》中的一个题目: 在一个二位数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 例如,下面的二位数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true;如果查
阅读全文
posted @
2015-08-31 17:50
uTank
阅读(418)
推荐(0)
全排序算法
摘要:全排序算法 1 /** 2 * 对arr数组中的begin~end进行全排列 3 * 4 * 比如: 5 * arr = {1,2,3} 6 * 第一步:执行 perm({1,2,3},0,2),begin=0,end=2; 7 * j=0,因此执行perm(...
阅读全文
posted @
2015-08-19 17:24
uTank
阅读(394)
推荐(0)
文件操作:输出文件二进制数据
摘要:#include int main(int argc, char *argv[]){ int i; FILE *fp = NULL; unsigned char *pData; int iLen, itmpLen, itmp; fp = fopen(argv[1], "...
阅读全文
posted @
2014-12-05 19:12
uTank
阅读(1104)
推荐(0)
linux/lib/string.c
摘要:1 /** 2 * strlen - Find the length of a string 3 * @s: The string to be sized 4 */ 5 size_t strlen(const char *s) 6 { 7 const char *sc; 8 9 for (sc = s; *sc != '\0'; ++sc) 10 /* nothing */; 11 return sc - s; 12 } 13 14 /** 15 * strnlen - Find the length of a lengt...
阅读全文
posted @
2014-03-18 08:37
uTank
阅读(1002)
推荐(0)
打印倒三角和正三角
摘要:1 #include 2 3 void printx(int l, int n) 4 { 5 int i; 6 if(l == n) 7 { 8 for(i = 0; i < 2*l+1; i++) 9 printf("*");10 printf("\n");11 }12 else13 {14 printx(l+1, n);15 for(i = 0; i < n-l; i++)16 printf(" ");17 f...
阅读全文
posted @
2014-03-11 23:25
uTank
阅读(999)
推荐(0)