摘要: /*哈夫曼树*/#include#include#define n 5//叶子结点个数#define m 2*n-1//hufftree的结点个数//定义构造hufftree的结构体typedef struct{char data;int weight;int parent, lchild, rchild;}huffnode;//定义输出哈夫曼编码的结构体typedef struct{char path[m];int start;}huffcode;//构造哈夫曼树void create_hufftree(huffnode tree[]);//编码void create_huffcode(hu 阅读全文
posted @ 2013-10-30 22:03 第十届电视剧 阅读(366) 评论(0) 推荐(0) 编辑
摘要: /*二叉树的遍历,前序遍历,中序遍历,后序遍历。*/#include#include#define null 0//定义结构体struct BinaryTree{char data;struct BinaryTree *Lchild;struct BinaryTree *Rchild;};typedef struct BinaryTree BiTree;//建立二叉树BiTree * createBiTree(BiTree *, int);//前序遍历void PreOrder(BiTree *);//中序遍历void MidOrder(BiTree *);//后序遍历void PostOrd 阅读全文
posted @ 2013-10-30 16:56 第十届电视剧 阅读(125) 评论(0) 推荐(0) 编辑
摘要: /*括号匹配问题。思想:括号分为(,[,],)四种。当遇见左括号时将其压入栈,当遇见右括号时有两种情况。第一种是该右括号与栈顶的括号想匹配。第二种是该括号不合法,就是括号不匹配。开始时,栈为空,当一对括号发生匹配时,将左括号取出。所以结束时,栈也为空。*/#include#include#include#define InitSize 100 //定义初始存储空间大小#define Size 100 //定义新增存储空间的大小#define MAX 100//定义结构体typedef struct Stack{int* top;int* base;int stacksize;}SqStack; 阅读全文
posted @ 2013-10-29 16:24 第十届电视剧 阅读(194) 评论(0) 推荐(0) 编辑
摘要: #include#include#define InitSize 100//代表存储空间的初始分配量//定义栈的结构体typedef struct stacks{int * top;int * base;int stacksize;}SqStack;//构造一个空栈void InitStack(SqStack *s){s->base = (int *)malloc(InitSize * sizeof(int));if(!s->base)printf("分配失败!");s->top = s->base;s->stacksize = InitSiz 阅读全文
posted @ 2013-10-29 14:41 第十届电视剧 阅读(999) 评论(0) 推荐(0) 编辑
摘要: 以c语言为例。 首先,要搞清楚程序在内存中是怎么存储的。一个c程序在内存中的存储映像可分为:动态存储区(堆栈),静态存储区,以及程序代码区。 其次,搞清楚全局变量,局部变量的概念,作用域,以及它们所在的存储位置。 全局变量:在函数外部定义的变量,也称为外部变量。全局变量都是静态的,但是静态全局变量和全局变量有一点差别(静态全局变量只初始化一次,防止在其他源文件调用!而全局变量可以再其他源文件初始化)。它的作用域是从变量定义的位置开始,到整个源文件结束。 例如: #include void fun(); int sum;//这里的sum,就是全局变量。 int main() ... 阅读全文
posted @ 2013-10-25 16:51 第十届电视剧 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 看了一些网上其他的编写的判断回文串的程序,感觉很繁琐。所以自己动手写了一个。#include#include#define M 10void judge(char *, int );int main(){char str[M];int length;scanf("%s", str);length = strlen(str);judge(str, length);return 0;}//判断一字符串是否是回文void judge(char *p, int length){int i = 0, j = length-1;int temp;while(i < j){temp 阅读全文
posted @ 2013-10-23 20:44 第十届电视剧 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目大致的意思是这样的:输入一段字符串,输出每个字母以及它们出现的次数,重复字母只输出一次。 例如:输入AAABBB 输出A3B3 程序如下: #include#include#define M 100void eval(char *p, int );int main(){int length;char str[M];scanf("%s", str);length = strlen(str);eval(str, length);printf("\n");return 0;}void eval(char *p, int length){int i, j, 阅读全文
posted @ 2013-10-23 20:07 第十届电视剧 阅读(150) 评论(0) 推荐(1) 编辑
摘要: #include#include#define M 10void input(int *s, int size){int i;for(i=0; ir[i+1]){t=r[i];r[i]=r[i+1];r[i+1]=t;}}}}//打印函数void output(int *a, int size){int i;for(i=0; i<size; i++){printf("%d ", *(a+i));}printf("\n");} int main(){int arr[M];input(arr,M);output(arr,M);sort(arr,M);o 阅读全文
posted @ 2013-10-14 10:57 第十届电视剧 阅读(123) 评论(0) 推荐(0) 编辑
摘要: #include#include#define M 10//随机生成数组中的元素 void input(int *s, int size){int i;for(i=0; ia[j]) p=j;//用p标记每次最小的元素的位置 }if(p!=i){t=a[i];a[i]=a[p];a[p]=t;}}}//打印函数void output(int *a, int size){int i;for(i=0; i<size; i++){printf("%d ", *(a+i));}printf("\n");} int main(){int arr[M];inp 阅读全文
posted @ 2013-10-14 10:40 第十届电视剧 阅读(130) 评论(0) 推荐(0) 编辑
摘要: MyEclipse10存在一个月的试用期,过了试用期之后就必须重新注册。这时候可以使用破解工具对MyEclipse10进行破解,网上有很多这种工具。例如http://www.greenxf.com/soft/37964.html。按照所说的步骤进行操作就行了。但是我在这个过程中遇到过一个问题,就是破解过后,重新打开MyEclipse的时候,后提示错误导致MyEclipse自动结束,这也就是说MyEclipse崩溃了。为此,我重新卸载,安装了好几次MyEclipse。最后终于发现在安装完成后,不要选Launch MyEclipse这一项。也就是安装完成后不要直接打开。等待破解完成后在打开。有的人 阅读全文
posted @ 2013-10-11 09:39 第十届电视剧 阅读(103) 评论(0) 推荐(0) 编辑