摘要: 括号匹配问题是指要匹配一个字符串的左,右括号:括号问题可以用来解决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) 编辑
摘要: Microsoft SQL Server 2005 简体中文开发人员版、企业版、标准版32、64位DVD合集软件简介SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQLServer2005数据引擎是本企业数据管理解决方案的核心。此外SQLServer2005结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webse 阅读全文
posted @ 2011-09-06 17:55 MATRIX | yan 阅读(385) 评论(0) 推荐(0) 编辑
摘要: /*魔术矩阵问题:魔术矩阵由一个n * n (n 为奇数)的整数矩阵构成, 矩阵中的整数值是从 1 ~ n*n , 每一行,每一列和两个对角线上数值和是一样考察算法的时间复杂度 , 不难发现这个程序最复杂的地方有三处,每一处由两个for循环嵌套而成,所以 每部程序的时间复杂度为O(n)* O(n) = O(n*n)整个程序的时间复杂度为O(n*n) + O(n*n) + O(n*n) = O(n*n)*/1 #include <stdio.h> 2 //#include <stdlib.h> 3 #define Max_Size 15 4 5 void main(voi 阅读全文
posted @ 2011-09-05 23:01 MATRIX | yan 阅读(3210) 评论(2) 推荐(0) 编辑
摘要: 上图为 3阶 Hanoi 塔假设有三个命名为 A B C 的塔座 ,在塔座A上插有n个直径大小不相同,由小到大编号为1 ,2 ,3 ,··· ,n的圆盘,要求将A座上的圆盘移至塔座C并按同样的顺序叠排圆盘移动必须遵守下列规则:1:每次只能移动一个圆盘 2:圆盘可以插在任意一个塔座上 3:任何时刻都不能将一个较大的圆盘放在一个较小的圆盘上该问题的复杂性:若有n个盘子,則移动完所需之次数为2^n - 1,所以当盘数为64时,则所需次数为: 2^64 - 1 = 18446744073709551615 为5.05390248594782e+16年,也就是约5000世纪 阅读全文
posted @ 2011-08-26 14:10 MATRIX | yan 阅读(25163) 评论(9) 推荐(6) 编辑
摘要: 下面是一个C程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案1 int n = 20; 2 3 4 5 for(int i = 0; i < n; i--){ 6 7 printf("-"); 8 9 } 其它相关的变种题如下:通过修改、增加一个字符,让其输出21个减号通过修改、增加一个字符,让其只输出1个减号通过修改、增加一个字符,让其不输出减号如果觉得有意思的就把答案贴在下面,大家互相交流 1 //这里是我的三种方法2 3 1 :for(int i = 0 ... 阅读全文
posted @ 2011-08-23 20:38 MATRIX | yan 阅读(1285) 评论(6) 推荐(3) 编辑
摘要: 1 #include <stdio.h> 2 3 int visit(int i , int j); 4 5 int maze[7][7] = { 6 {2,2,2,2,2,2,2}, 7 {2,0,0,0,0,0,2}, 8 {2,0,2,0,2,0,2}, 9 {2,0,0,2,0,2,2},10 {2,2,0,2,0,2,2},11 {2,0,0,0,0,0,2},12 {2,2,2,2,2,2,2},13 };14 int si = 1 , sj = 1 ;15... 阅读全文
posted @ 2011-08-19 20:31 MATRIX | yan 阅读(3570) 评论(0) 推荐(3) 编辑
摘要: 原理如图 , 采用双指针 1 struct node* lastn(struct node *head , int n) 2 { 3 struct node *p , *q ; 4 if(n < 1) 5 { 6 return NULL ; 7 } 8 9 P = head ;10 while(--n)11 {12 if(!p->next)13 {14 return NULL ;15 }16 else 17 p = p -> next ;18 }19 20 q = head ;21 while(p -> next)22 {23 q = q -> next ;24 阅读全文
posted @ 2011-08-19 19:03 MATRIX | yan 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 1 /* *********************** 2 author : C / C# 3 data : 2011-8-19 4 Copyright 2011 5 *********************** */ 6 7 #include <stdio.h> 8 #include <stdlib.h> 9 #include <string.h> 10 11 #define N 5 12 13 void aver(score); 14 void menu(int *num , char *name , char *flag); 15 float *s 阅读全文
posted @ 2011-08-19 15:29 MATRIX | yan 阅读(1247) 评论(0) 推荐(1) 编辑