算法与数据结构
文章平均质量分 70
hwltony
这个作者很懒,什么都没留下…
展开
-
数组部分之和问题
一个集合x有都不相同的n个元素,使用这个集合中的不定个数的元素,组成一个和为s的序列,求出所有符合的序列,元素可以重复使用,只要元素的个数相同不考虑顺序。比如集合是x={2,3,4,5,7}; n=5, s=12可以得出以下的序列:2 2 2 2 2 22 2 2 2 4转载 2013-08-20 14:36:09 · 1207 阅读 · 0 评论 -
字符串重复子串数目问题
编写函数, string deletestring(string str,string sub_str)从str中查找匹配的字符串sub_str,采用最左匹配,且输出形式为str+"_"+匹配的次数 #include #include using namespace std;void deletestring(string str,string strsub){ int len =转载 2013-08-27 19:54:15 · 974 阅读 · 0 评论 -
判断数字是否是回文
比如12321是回文数字#include using namespace std;#define size 20void sysmety(long num){ int numnew = num; int arr[size]; int len = 0; while(num){ arr[len++] = num%10; num = num/10; } int i=0,j=转载 2013-08-27 19:55:22 · 597 阅读 · 0 评论 -
求两个整形数组的异集
比如A,B的异集是A+B- (A和B的交集)A={1,2,3}, B={1,4,5} A和B的异集是{2,3,4,5}#include using namespace std;#define size 20#define len1 3#define len2 4//此方法复杂是(len1*len2)void fun(){ int arr1[]={1,2,3}; bo转载 2013-08-27 20:29:23 · 911 阅读 · 0 评论 -
将数组中的数字按照一定顺序排放
给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到output[]数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[]数组中间两个位置偏右的那个位置上,然后在按照从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。#include #include using namespace std;#define max转载 2013-08-28 12:16:56 · 999 阅读 · 0 评论 -
编写程序颠倒句子中单词的顺序
推荐http://bbs.csdn.net/topics/390173976Enter a sentece: you can cage a swallow can't you? (下划线为用户输入的字符)Reversal of sentence: you can't swallow a cage can you?#include using namespace std;#defin转载 2013-08-27 15:36:51 · 3407 阅读 · 0 评论 -
约瑟夫环和衍生问题
推荐http://www.cnblogs.com/EricYang/archive/2009/09/04/1560478.html原始问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。#include using namesp转载 2013-08-27 16:43:26 · 702 阅读 · 0 评论 -
最大连续子序列乘积
推荐 http://blog.csdn.net/wzy_1988/article/details/9319897#comments题目描述:给定一个浮点数序列(可能有正数、0和负数),求出一个最大的连续子序列乘积。输入:输入可能包含多个测试样例。每个测试样例的第一行仅包含正整数 n(n第二行输入n个浮点数用空格分隔。输入数据保证所有数字乘积在双精度浮点数表示的范围内。原创 2013-08-23 22:28:09 · 684 阅读 · 0 评论 -
编程之美3.10 分层遍历二叉树
推荐http://blog.csdn.net/ididcan/article/details/7985741两个问题1、分层遍历二叉树2、打印某个层次中的节点(其中根节点是0层)#include #includeusing namespace std;struct Node{ int data; Node* left; Node* right;};//max{d(u原创 2013-08-23 23:06:47 · 513 阅读 · 0 评论 -
连续子序列最大和问题的分析
推荐http://shmilyaw-hotmail-com.iteye.com/blog/1616632问题描述 给定(可能是负的)整数序列A1, A2,...,AN, 寻找(并标识)使Sum(Ak)(k >=i, k #include using namespace std;int max(int a,int b){ return a>b?a:b;原创 2013-08-23 22:38:18 · 587 阅读 · 0 评论 -
完美数
推荐http://blog.csdn.net/huazhizui/article/details/9698053#comments题目详情我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同,而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。现在给定一转载 2013-08-22 22:11:58 · 626 阅读 · 0 评论 -
数组奇偶按照一定顺序排列
对一个数组,将数组中偶数从大到小排序,奇数从小到大排序,奇数和偶数交叉放且输出数组第一位放奇数,若奇数和偶数不等长,则把剩下的直接放到数组中。#include #include using namespace std;#define maxlen 10void insert1(int arr[],int &len,int data){//从小到大 if(len==0){ arr[转载 2013-08-28 11:02:11 · 1119 阅读 · 0 评论