程序实例
文章平均质量分 60
kalium
这个作者很懒,什么都没留下…
展开
-
用递归二分法实现同时获得一个数组内的最大最小值
#include void h(int* a, int leng, int& max, int& min){ assert(leng > 0); if (leng==2) { min = (a[0]<a[1])?a[0]:a[1]; max = (a[0]<a[1])?a[1]:a[0]; return; } else if (leng==1)原创 2012-05-12 03:33:00 · 754 阅读 · 0 评论 -
根据字典排序找到下一个由n个不同字符组成的序列
根据字典排序找到下一个由n个不同字符组成的序列。分析请见http://download.csdn.net/detail/kalium/4322281 // find next permutation#include #include #include using namespace std;int main (){string str("3102")原创 2012-05-23 02:21:26 · 988 阅读 · 0 评论 -
判断一个数组是否为单一完全循环数组
判断一个数组是否为单一完全循环数组/* Determine if an array is a single complete circle by the following rules: * a[0]=1 -> a[1]=3 -> a[4]= 2 -> ... * If array a is of length 6, a[6] -> a[0] */using namesp原创 2012-05-22 03:36:52 · 711 阅读 · 0 评论 -
大数加法和大数乘法的实现
问一个Facebook大数相乘的题http://www.mitbbs.com/article_t1/JobHunting/32084397_0_1.html两个大数相乘 char* multiply(char*,char*);比如 char str1[] = "23456789009877666555544444"char str2[] = "34658743659843759原创 2012-05-22 01:49:18 · 2070 阅读 · 0 评论 -
倒序搜索字符串
一个字符串由排好序的数构成,在其中查找是否存在另一个字串(也是一个数)。可以用二分法,但是要把所有字符串都转成数。int main(){ char *strSrc = "1 234 56789 93785935"; char *strTgt = "5935"; int lenTgt = strlen(strTgt)-1; int indexSrc = strlen(s原创 2012-05-17 04:16:39 · 1114 阅读 · 0 评论 -
怎样判断一个二叉树是binary search tree
怎样判断一个二叉树是binary search tree怎么实现 boolean isBST(Node *root)? 看看这个,简单明了http://www.ardendertat.com/2011/10/10/programming-interview-questions-7-binary-search-tree-check/In-order traverse能够按顺序原创 2012-05-17 23:57:38 · 1685 阅读 · 0 评论 -
单链表相关操作之C语言实现:插入,删除,倒转,复制,查找。。。
typedef struct node { node *next; /* pointer to next element in list */ char data; }node, *pnode, **ppnode; // define two types // create an empty node pnode list_createNullNode(原创 2009-03-07 05:30:00 · 2318 阅读 · 1 评论 -
字符串操作的实现
字符串n比较strncmp()int mystrncmp(const char *p1, const char *p2, int n){ assert((p1 != NULL) && (p2 != NULL)); while (((*p1)==(*p2))&&(p1!='\0')&&(n>0)) { p1++; p2++; n--; }原创 2009-03-08 14:25:00 · 597 阅读 · 0 评论 -
删除字符串中所有的空格space的C语言实现(in-place solution)
void myremovespace(char * str){ char *p1, *p2; char ch; p1 = str; //first pointer p2 = str; // second pointer to the remaining string if (p1==NULL) return; while (*p1) { if (*p1 != ' ') {原创 2009-03-09 14:13:00 · 1631 阅读 · 0 评论 -
回溯法之一---算法框架及基础
回溯法之一---算法框架及基础回溯法其实也是一种搜索算法,它可以方便的搜索解空间。回溯法解题通常可以从以下三步入手:1、针对问题,定义解空间2、确定易于搜索的解空间结构3、以深度优先的方式搜索解空间,并在搜索的过程中进行剪枝回溯法通常在解空间树上进行搜索,而解空间树通常有子集树和排列树。针对这两个问题,算法的框架基本如下:用回溯法搜索子集合树的一般框架:转载 2012-05-24 03:28:28 · 564 阅读 · 0 评论