摘要:用递归求树的高度,哎。。。平时很少用指针,写起来挺吃力的#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct bnode
{ char data; struct bnode *lchild,*rchild;
}btnode;
int max(int x,int y)
{ return x>y?x:y;
}
btnode *create() //建树
{ char c; btnode *t; c=getchar(); if(c=='#') t=NULL
阅读全文
摘要:数据结构里学了好多排序的算法,现在来整理一下吧收集了几个排序算法的舞蹈,一起感受程序员的艺术吧插入排序:http://rrurl.cn/jgVFb1希尔排序:http://rrurl.cn/bk5ivP快速排序:http://rrurl.cn/sPoa91归并排序:http://rrurl.cn/bDwSo7下面贴几个简易的代码吧直接插入排序#include<stdio.h>
#include<string.h>
int main()
{ int i,j,n; int a[1000]; while(scanf("%d",&n)!=EOF) {
阅读全文
摘要:九度OJ-1172-哈夫曼树http://ac.jobdu.com/problem.php?pid=1172哈夫曼树(Huffman tree):给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,即哈夫曼树这题可以建树,也可以不建树。建树:#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxvalue 0x7fffffff
struct huffman
{ int weight; int parent,lchild,rchild;
阅读全文
摘要:NYOJ-35-表达式求值http://acm.nyist.net/JudgeOnline/problem.php?pid=35很好的一题,利用栈来计算表达式的值四则运算的规则:1.先乘除,后加减;2.从左算到右;3.先括号内,后括号外注意把字符串转换成浮点数可以使用atof函数#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int map[7][7]= //算符间的优先关系,100表示不会出现的情况
{ {1,1,-1,-1,-1,1,1}, {1,1,-1,-1,-1,1,1}, {1,1,
阅读全文