2013年10月1日

string查找字符(串)

摘要: 在C语言中 strchr 和 strstr函数都被包含在头文件中,也就是要调用它们时要在程序前面包含头文件,也就是写这个语句:#includestrchr函数原型:char * strchr(char * str, char ch); 功能就是找出在字符串str中第一次出项字符ch的位置,找到就返回该字符位置的指针(也就是返回该字符在字符串中的地址的位置),找不到就返回空指针(就是 null)。strstr 函数原型: char * strstr(char * str1,char * str2);功能就是找出在字符串str1中第一次出项字符串str2的位置(也就是说字符串sr1中要包含有字符串 阅读全文

posted @ 2013-10-01 14:12 xiaofangne 阅读(495) 评论(0) 推荐(0) 编辑

哈夫曼树

摘要: 给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;(3)从森林中删除选取的两棵树,并将新树加入森林;(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。[2]来自 阅读全文

posted @ 2013-10-01 11:32 xiaofangne 阅读(228) 评论(0) 推荐(0) 编辑

动态生成数组

摘要: int Array(int ***Arr,int m,int n){ int **p,i; p=(int**)malloc(m*sizeof(int*)); /*动请申请一个指针数组*/ if(!p) return 0; for(i=0;i<m;i++) { p[i]=(int*)malloc(n*sizeof(int));/*动态申请一个数组*/ if(!p[i]) return 0; } *Arr=p; return 1; }.....int **matrix;int m,n;scanf("%d%d",&m,&n);if(!Array(&. 阅读全文

posted @ 2013-10-01 08:49 xiaofangne 阅读(400) 评论(0) 推荐(0) 编辑

邻接矩阵与二叉排序树

摘要: 逻辑结构分为两部分:V和E的集合。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵。邻接矩阵(Adjacency Matrix):是表示顶点之间相邻关系的矩阵。设G=(V,E)是一个图,其中V={v1,v2,…,vn}。G的邻接矩阵是一个具有下列性质的n阶方阵:①对无向图而言,邻接矩阵一定是对称的,而且对角线一定为零(在此仅讨论无向简单图),有向图则不一定如此。②在无向图中,任一顶点i的度为第i列所有元素的和,在有向图中顶点i的出度为第i行所有元素的和,而入度为第i列所有元素的和。③用 阅读全文

posted @ 2013-10-01 08:34 xiaofangne 阅读(351) 评论(0) 推荐(0) 编辑

导航