算法求交集
struct node { int elem; node* next; }; void difference(node** LA , node* LB)...
算法一百以内的素数
struct prime_number_node { int prime_number; prime_number_node* next; }; int calc_prime_number() {&n...
算法数字转化为字符串
点击(此处)折叠或打开void int2str(int n, char *str){ char buf[10]=\"\"; int i=0; int len=0; int temp=n<0?-n:n;...
算法计算字符串的相似度
点击(此处)折叠或打开int CalculateStringDistance(string strA, int pABegin, int pAEnd, string strB, int pBBegin, int pBEnd){ if(pABegin>pAEnd) { if(pB...
算法电话号码对应英文单词
点击(此处)折叠或打开char c[10][10]={ \"\", \"\", \"ABC\", \"DEF\", \"GHI\", \"JKL\", \"MNO\",...
算法strstr实现
#include <stdio.h> const char *my_strstr(const char *str, const char *sub_str) { for(int i = 0; str[i] != '\0'; i++) &...
算法字符串位包含编程之美
点击(此处)折叠或打开 char src[]=\"AABBCD\"; char des[]=\"CDAA\"; int len=strlen(src); for(int i=0; i<len; i++) {...
二叉树的五个性质
二叉树的5个性质1.在二叉树的第i层上最多有2 i-1 个节点 1层 1个 20 2层 2个 21 3层 4个 22 ..... i...
算法几个数之和是某个数
输入两个整数 n 和 m,从数列 1,2,3.......n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来n小于m/2点击(此处)折叠或打开vector<int> list1; //01背包问题void find_factor(i...
智力题妻子接丈夫回家
算法编程之美连续数之和等于某个数
点击(此处)折叠或打开int main(int argc, char* argv[]){ int num=50; int result; int k; bool Invalid=false;...
比赛次数问题
37支球队进行冠军争夺赛,每轮比赛中,出场的每两支球队中的胜者及轮空者进入下一轮,直到此比赛结束,共需要进行多少轮比赛,如果是n支球队比赛呢?第一轮18场,19支球队进入下一轮第二轮9场,10支球队进入下一轮第三轮5场,5支球队进入下一轮第四轮2场,3支球队进入下一轮第五轮1...
上山和下山问题
某甲早8点从山下旅店出发沿一条路径上山,下午5时到达山顶并留宿。次日早8时沿同一路径下山,下午5时回到旅店。某乙说,甲必在两天中的同一时刻经过路径中的同一地点。为什么?这是椅子问题设想有两个人一人上山,一人下山,同一天同时出发,沿同一路径,必定相遇.用函数的观念来说明。y表示路径,x表示时...
最小生成树(普利姆算法、克鲁斯卡尔算法)
给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1) 克鲁斯卡尔算法图的存贮结构采用边集数组,且权值相等的边在数组中排列次序可以是任意的.该方法对于边相对比较多的不是很实用,浪费时间.(2) 普里姆算法图的存贮结构采用邻接矩阵.此方...
图的生成,遍历
点击(此处)折叠或打开typedef char VertexType;typedef int EdgeType;#define MAXVEX 100#define INFINITY 65535typedef struct { VertexType vexs[MAXVEX];...
算法求数组中的最大值最小值
算法数组中的最大值和最小值方法1:遍历两次求出最大值最小值 ,时间复杂度N*2方法2:相邻两个数分为一组比较,大的放在偶数位,小的放到奇数位,然后在偶数位上找到最大值,在奇数位上找到最小值N*1.5方法3:定义两个变量Max,Min值,相邻两个数分为一组,比较出最大值和最小值,最大值和Max比较,是否大于M...
笔记--链表算法
1.单链表反转2.找出单链表的倒数第4个元素3.找出单链表的中间元素4.删除无头单链表的一个节点5.两个不交叉的有序链表的合并6.有个二级单链表,其中每个元素都含有一个指向一个单链表的指针。写程序把这个二级链表称一级单链表。7.单链表交换任意两个元素(不包括表头)8.判断单链表是否有环...
算法删除单链表中重复的元素
点击(此处)折叠或打开void pur_LinkList ( LinkList H ) { LNode *p,*q,*r; p=H->next; /*p指向第一个结点*/ if ( p==NULL ) return; &n...
算法单链表快速排序算法实现
[cpp] view plaincopyprint?typedef int ElemType; typedef struct ListNode* List; struct ListNode { ElemType key&nb...
算法用链表模拟大整数加法运算
例如:9->9->9->NULL+ 1->NULL 1->0->0->0->NULL思路:使用递归,能够实现从前往后计算。[cpp] view plaincopyprint?// LinkTable.cpp : ...