摘要: 括号匹配问题是指要匹配一个字符串的左,右括号:括号问题可以用来解决C语言中的“{”和“}”的匹配问题,可以观察到,如果从左至右扫描一个字符串,那么每个右括号将于最近遇到的那个未匹配的左括号相匹配,在从左至右的扫描工程中把所遇到的左括号存放到堆栈内,每当遇到一个右括号时,就将它与栈顶的左括号(如果存在)相匹配,同时从栈顶删除该左括号以下是完整的C程序,该算法的时间复杂性为O(n),其中n为输入串的长度: 1 #include "stdio.h" 2 #include "string.h" 3 #include "stdlib.h" 4 阅读全文
posted @ 2011-09-10 21:04 MATRIX | yan 阅读(17965) 评论(3) 推荐(0) 编辑
摘要: 1 /* 2 循环队列的基本操作,初始化,入队,遍历,出队等操作 3 */ 4 #include <stdio.h> 5 #include <malloc.h> 6 7 #define true 1 8 #define false 0 9 10 typedef struct Queue 11 { 12 int *pBase; //定义数组pBase 13 int front; 14 int rear; 15 }QUEUE; 16 17 void init(QUEUE *pQ); 18 int en_queue(QUEUE *pQ , i... 阅读全文
posted @ 2011-09-10 15:58 MATRIX | yan 阅读(3295) 评论(1) 推荐(1) 编辑
摘要: /* 对栈实现初始化,插入栈顶元素,删除栈顶元素,遍历栈,清空栈等基本操作 */ 1 #include <stdio.h> 2 #include <malloc.h> 3 #include <stdlib.h> 4 5 #define true 1 6 #define false 0 7 8 9 typedef struct Node 10 { 11 int data; 12 struct Node *pNext; 13 }NODE, *PNODE; 14 15 typedef struct Stack 16 { 17 PNODE pT... 阅读全文
posted @ 2011-09-10 01:34 MATRIX | yan 阅读(29586) 评论(0) 推荐(1) 编辑