数据结构+算法
文章平均质量分 52
21011111111
这个作者很懒,什么都没留下…
展开
-
递归求k的n次方
递归求k的n次方原创 2011-07-13 20:44:46 · 945 阅读 · 0 评论 -
删除字符串中的数字并压缩字符串
/* 删除字符串中的数字并压缩字符串。如字符串”abc123de4fg56”处理后变为”abcdefg”。注意空间和效率。//*/原创 2011-07-16 22:37:04 · 2432 阅读 · 0 评论 -
输入一个表示实数的字符串,把该字符串转换成实数并输出
/*输入一个表示实数的字符串,把该字符串转换成实数并输出。例如输入字符串"34.5",则输出整数34.5。*/原创 2011-07-16 22:36:08 · 3538 阅读 · 0 评论 -
单词反转
/* 单词反转 "I am a student." --> "student. a am I"*/原创 2011-07-16 22:30:07 · 1209 阅读 · 0 评论 -
字符串原地压缩
/* 字符串原地压缩。题目描述:“eeeeeaaaff" 压缩为 "e5a3f2"。//*/原创 2011-07-16 22:31:02 · 1275 阅读 · 0 评论 -
编程实现两个正整数的除法(不能用除法操作符)
/* 编程实现两个正整数的除法(不能用除法操作符)。 //*/原创 2011-07-16 22:26:55 · 1518 阅读 · 0 评论 -
编程实现把十进制数(long型)分别以二进制和十六进制形式输出
/* 编程实现把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。//*/原创 2011-07-16 22:28:47 · 2219 阅读 · 1 评论 -
给出一个函数来合并两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠
/*给出一个函数来合并两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。//*/原创 2011-07-16 22:25:41 · 3595 阅读 · 2 评论 -
输入一个正数n,输出所有和为n连续正数序列
/*输入一个正数n,输出所有和为n连续正数序列。例如:输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。//*/原创 2011-07-16 22:21:39 · 635 阅读 · 0 评论 -
查找字符的个数
/*华为面试char *str = "AbcABca";写出一个函数,查找出每个字符的个数,区分大小写,要求时间复杂度是n*/#include int main(int argc, char** argv) { char *str = "原创 2011-07-16 22:17:25 · 912 阅读 · 1 评论 -
已知一个字符串,比如asderwsde,寻找其中的一个子字符串比如sde的个数,如果没有返回0,有的话返回子字符串的个数
/* 已知一个字符串,比如asderwsde,寻找其中的一个子字符串比如sde的个数,如果没有返回0,有的话返回子字符串的个数。//*/原创 2011-07-16 22:33:14 · 1377 阅读 · 0 评论 -
实现strf功能,即在父串中寻找子串首次出现的位置
/* 实现strf功能,即在父串中寻找子串首次出现的位置。//*/原创 2011-07-16 22:32:24 · 1582 阅读 · 0 评论 -
软件优化的三个层次
医生治病首先要望闻问切,然后才确定病因,最后再对症下药,如果胡乱医治一通,不死也残废。说起来大家都懂的道理,但在软件优化过程中,往往都喜欢犯这样的错误。不分青红皂白,一上来这里改改,那里改改,其结果往往不尽如人意。一般将软件优化可分为三个层次:系统层面,应用层面及微架构层转载 2011-09-04 12:52:22 · 447 阅读 · 0 评论 -
二叉树的公共父节点
void findparent(node* root, node* pt1, node* pt2); 1、对于二叉搜索树,里边的元素都是排好序的,那么从根节点向下搜索,找到第一个节点p满足p->data > pt1->data 且 p->data data(假定pt1->data data)即是满足要求的公共父节点;节点结构:struct node{int data;nod原创 2011-12-06 21:10:08 · 1117 阅读 · 0 评论 -
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
/*输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成"Thy r stdnts."。//*/原创 2011-07-16 22:38:15 · 959 阅读 · 0 评论 -
给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
/*给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。//*/原创 2011-07-16 22:40:33 · 3884 阅读 · 0 评论 -
汉诺塔
汉诺塔 递归原创 2011-07-13 20:48:58 · 927 阅读 · 0 评论 -
快速排序
快速排序原创 2011-07-13 20:56:36 · 417 阅读 · 0 评论 -
顺时针旋转打印矩阵元素
顺时针旋转打印矩阵元素原创 2011-07-13 21:03:22 · 1178 阅读 · 1 评论 -
Fibonacci数列
Fibonacci数列原创 2011-07-13 21:14:57 · 358 阅读 · 0 评论 -
最长数字字串
/*写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能: 在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。 例如:"abcd原创 2011-07-13 21:22:56 · 512 阅读 · 0 评论 -
中间数查找
在一个int数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。原创 2011-07-13 21:24:24 · 1094 阅读 · 0 评论 -
字符串移动
编码完成下面的处理功能。 函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量。 如原始串为:ab**cd**e*12,处理后为*****abcde12原创 2011-07-13 21:28:43 · 1479 阅读 · 1 评论 -
最小公倍数
最小公倍数原创 2011-07-13 21:21:04 · 478 阅读 · 0 评论 -
最大公约数
辗转相除 最大公约数原创 2011-07-13 21:17:03 · 348 阅读 · 0 评论 -
求1+2+…+n 要求不能使用乘除法
/* 求1+2+…+n 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A ? B : C)。//*/原创 2011-07-16 22:41:13 · 1585 阅读 · 0 评论 -
反转字符串
/* 编写反转字符串的程序。//*/原创 2011-07-16 22:34:16 · 592 阅读 · 0 评论 -
输入一个表示整数的字符串,把该字符串转换成整数并输出
/*输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。*/原创 2011-07-16 22:35:28 · 5150 阅读 · 0 评论 -
判断直线是否相交
判断线段是否相交,没有提供判断是否共线这种情况的处理代码,但这个代码做更改比较简单原创 2011-07-16 10:24:40 · 1051 阅读 · 0 评论 -
判断矩形是否相交
判断矩形是否相交原创 2011-07-16 10:19:23 · 687 阅读 · 0 评论 -
有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面
/*有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面 (大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法。 c语言函数原型void proc(char *str),也可以采用你自己熟悉的语言原创 2011-07-16 22:38:53 · 2867 阅读 · 0 评论 -
输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字
/* 输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求:时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如:输入数组1、2、4、7、11、15和数字15。由于4+11=1原创 2011-07-16 22:39:54 · 2531 阅读 · 0 评论