摘要:
算法代码://SwitchLinkNodes.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include"iostream"#include"fstream"usingnamespacestd;ifstreamfin("data.txt");structLink{intData;Link*Next;};voidSwitchLinkNodes(Link*head,Link*nodeA,Link*nodeB);Link*Bu 阅读全文
随笔分类 - 算法
[小算法] 合并两有序链表
2012-04-23 13:30 by Kevin Pan, 148 阅读, 收藏,
摘要:
#include"stdafx.h"#include<iostream>#include<fstream>usingnamespacestd;ifstreamfin("data.txt");structLink{intData;Link*Next;};LinkMergeLinks(Link*linka,Link*linkb);voidPrintLink(Link*head);int_tmain(intargc,_TCHAR*argv[]){Linklinka,linkb,*pointera,*pointerb;linka.Data 阅读全文
[小算法] 找出单链表中的中间元素
2012-04-18 18:04 by Kevin Pan, 454 阅读, 收藏,
摘要:
两种情况:1. 链表有奇数个结点, 中间元素只有一个;2. 链表有偶数个结点, 中间元素会有两个;#include"stdafx.h"#include<iostream>usingnamespacestd;structLink{intData;Link*Next;};voidPrintMiddleNode(Link*head);int_tmain(intargc,_TCHAR*argv[]){structLinkhead,node1,node2,node3,node4,node5;head.Data=-1;head.Next=&node1;node1.D 阅读全文
[小算法] 反转单链表
2012-04-18 15:32 by Kevin Pan, 189 阅读, 收藏,
摘要:
#include"stdafx.h"#include<iostream>usingnamespacestd;structLink{intData;Link*Next;};voidPrintLink(Link*head);voidPrintReverse(Link*node);LinkReverseLink(Link*head);LinkRecurseReverseLink(Link*head);intPrintReverseAt(Link*node,intlastIndex);int_tmain(intargc,_TCHAR*argv[]){structLink 阅读全文
[小算法]从M个不同字符中任取N个字符的所有组合
2011-08-30 15:08 by Kevin Pan, 505 阅读, 收藏,
摘要:
非递归算法#include"stdafx.h"#include<iostream>usingnamespacestd;voidGetCombination(char*chars,intn);intmain(){GetCombination("abcdefg",3);system("pause");return0;}voidGetCombination(char*chars,intn){intindex[10];intstrLength=strlen(chars);for(inti=0;i<n;i++){index[i 阅读全文
[小算法] 递归实现回文判断
2011-08-25 16:39 by Kevin Pan, 335 阅读, 收藏,
摘要:
回文形式:ABCDEFEDCBA, 就是顺着念和倒着念是一样的。代码如下:#include"stdafx.h"#include<iostream>usingnamespacestd;boolPalindromeCheck(char*str,intn);intmain(){char*str="abcdefedcba";boolresult=PalindromeCheck(str,strlen(str));cout<<"string:"<<str<<",result:"& 阅读全文
[小算法] 求高于平均分的学生学号及成绩(学号和成绩从文件读取)
2011-08-24 15:30 by Kevin Pan, 340 阅读, 收藏,
摘要:
#include"stdafx.h"#include<iostream>#include<fstream>usingnamespacestd;ifstreamfin("data.txt");doublefind(inttotal,intn);intmain(){doubleaverage=find(0,0);cout<<"Average:"<<average<<endl;system("pause");return0;}doublefind(inttota 阅读全文
[小算法] 使用递归将一个整数逆序放入一数组中
2011-08-23 15:19 by Kevin Pan, 501 阅读, 收藏,
摘要:
使用递归将一个整数逆序放入一数组中#include"stdafx.h"#include<iostream>usingnamespacestd;voidconvert(int*result,intn);intmain(intargc,_TCHAR*argv[]){intn=123456789,result[20]={};convert(result,n);cout<<"n="<<n<<endl;for(inti=0;i<9;i++){cout<<result[i];}cin>>n 阅读全文
二叉树非递归遍历方法(C#)
2010-09-10 17:58 by Kevin Pan, 1551 阅读, 收藏,
摘要:
前段时间写了二叉树的遍历算法,递归方法很简单几行代码就能搞定,但是非递归算法还是有点伤脑细胞。代码如下,可能有问题,希望博友指正,谢谢。public class TreeNode { public TreeNode LChild { get; set; } public TreeNode RChild { get; set; } public string Data { get; set; } ... 阅读全文
面试题:不用比较运算符求两个数种较小的数
2010-09-10 10:58 by Kevin Pan, 552 阅读, 收藏,
摘要:
今天同事去面试,问了一道的算法题如题1. return (a+b-abs(a-b))/2;2. if(a/b) return b; else return a;3. return (a+b) - ((a%b)/a*b+(b%a)/b*a); //((a%b)/a*b+(b%a)/b*a)结果是两数种较大的数暂时就想到以上3种方法。 阅读全文
求2009所在的位置
2009-10-25 20:06 by Kevin Pan, 193 阅读, 收藏,
摘要:
/**1 5 7 19 21*3 9 17 23*11 15 25*13 27*29*求2009的位置*/[代码] 阅读全文
自己写的大数阶乘算法
2009-10-25 20:01 by Kevin Pan, 322 阅读, 收藏,
摘要:
/*大数问题*用一个整型数组表示一个大数,数组的每个元素储存大数的一位数字,则实际的大数d表示为:*d=a[k]*10的k-1次幂+a[k-1]*10的k-2次幂+......+a[2]*10+a[1].*其中a[0]保存该大数的位数.*一个数N的阶乘(N为无穷大)*/[代码] 阅读全文
判断数组中是否有相同的数
2009-09-13 18:10 by Kevin Pan, 1046 阅读, 收藏,
摘要:
Given an array of size N in which every number is between 1 and N, determine if there are any duplicates in it. You are allowed to destroy the array if you like. [ I ended up giving about 4 or 5 diffe... 阅读全文
浙公网安备 33010602011771号