C && C++程序设计
hankmiao
这个作者很懒,什么都没留下…
展开
-
计算N以内质数的个数
<br />总结两点:<br /> 1、注意内存分配中int是占4个字节,不能分配多少个int就直接写多少个,而要乘以int的长度大小,因为它(malloc)分配的是字节数;<br /> 2、能省则省,一开始我把isNotPrime声明为int,这样到99999999内存就太大了分配不了,后来改成char,至少节约3/4内存,可以测试更大的数;<br />完整代码如下,算法是网上看别人的算法:<br />/** * 计算2~N的质数 * skchen @ 2009-08-29 22:26 *转载 2010-06-19 19:55:00 · 1491 阅读 · 0 评论 -
基于栈计算后缀表达式的值
<br />计算机在处理算术表达式的时候,可将表达式先转换成后缀形式,然后利用栈进行计算。例如,表达式“46+5*(120-37)”的后缀表达式形式为“46 5 120 37 - * +”。<br />下面的函数computing(char expr[],int *result)的功能就是基于栈计算后缀形式的表达式(以串形式存入字符组expr)的值,并通过参数result带回该值。函数的返回值为-1/0,分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅原创 2011-04-19 21:41:00 · 1691 阅读 · 0 评论 -
单链表的查找、插入和删除运算的实现过程
<br />简单的单链表操作,权当复习练手,高手请绕过。<br />单链表的查找运算: LinkList Find_List(LinkList L,int k)/*L为带头节点单链表的头指针*/ /*在表L中查找第K个元素,若找到,则返回该元素节点的指针;否则,返回空指针NULL*/ { LinkList p; int i; i=1;p=L->link;/*初始时,令p指向第一个元素节点,i为元素计数器*/ while(p&&i<k){/*顺指针向后查找,直到p指向第原创 2011-04-20 17:24:00 · 3063 阅读 · 0 评论 -
二叉树的中序输出问题
<br />5月份要考程序员了,好多需要理解掌握的算法,在此一一写出来。<br />这个程序的思路是自己输入数字,在输入的同时,已经帮你左右顺序排好了,即左子树的数字比右子树小,是个顺序二叉树,以输入0为结素,而后一中序遍历输出,但不知道为什么,在屏幕上打引的却是左子树最小的数字,而且一直输出,请看下面程序:<br />#include "stdio.h" #include "string.h" typedef struct no { int key; stru原创 2011-04-16 17:15:00 · 594 阅读 · 0 评论 -
快速排序算法
思想: 就是你从数组中任取一个元素p(可随机取,现在以取第一个为例); 以P作为主元,对数组 进行划分 ,前一部分小于 P,后一部分大于p; 最后划分处存储 p; 然后分别对划分后的前一部分和后一部分递归调用; 算法平均时间复杂度: O(nlogn)。代码: void QuickSort(int low,int high,int *array) { int pos; if(low{ pos=SPLIT(low,high,array); //以arr原创 2011-04-17 16:10:00 · 513 阅读 · 0 评论 -
线性表经典-选首领问题
<br />正好这几天在看数据结构,觉得链表应用挺广的,特写一实例。<br />问题描述:<br />选首领。N个游戏者围成一圈,从第一个开始顺序报数1,2,3.凡报到3者退出圈子,最后留在圈中的人为首领。<br />思路:<br />创建一个包含N个节点的单循环链表来模拟N个人围成的圈。节点的数据域存放游戏者的编号。<br />在程序中,以删除节点模拟人退出圈子的处理,整型变量c(初始值为1)用于计数,指针变量p的初始值为head,运行时,从p所指的节点开始计数,p沿链表中的指针每次向后指一个节点,c值随原创 2011-04-17 17:20:00 · 1416 阅读 · 2 评论 -
单源最短路径
<br />问题描述:<br />给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数。另外,还给定 V 中的一个顶点,称为源。现在我们要计算从源到所有其他各顶点的最短路径长度。这里的长度是指路上各边权之和。这个问题通常称为单源最短路径问题。<br />解决方案:<br />Dijkstra提出按各顶点与源点v间的路径长度的递增次序,生成到各顶点的最短路径的算法。既先求出长度最短的一条最短路径,再参照它求出长度次短的一条最短路径,依次类推,直到从源点v 到其它各顶点的最短路径全部求出为止。<b原创 2011-04-23 21:21:00 · 898 阅读 · 0 评论