
算法
文章平均质量分 71
alexander_china
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
归并排序
读了别人的程序,自己重写了一遍,完整代码如下: #include using namespace std; #define MAXSIZE 10 void print(int a[],int size = MAXSIZE) { int i; for(i=0;i<size;i++) cout<<a[i]<<" "; cout<<endl; } void merge_arr原创 2012-11-11 20:32:52 · 409 阅读 · 0 评论 -
八皇后源码
#include #include using namespace std; #define MAX 8 int queen_array[MAX][MAX]; static int NUM=0; void print() { int i,j; for(i=0;i<MAX;i++) { for(j=0;j<MAX;j++) cout<<queen_array[i原创 2013-01-15 23:00:18 · 495 阅读 · 0 评论 -
判断一个字符串中是否含有另一个字符串
#include using namespace std; bool compare(char *str1,char *str2,int StartIndex,int len) { bool bEqual=true; int i; for(i=0;i<len;i++) { if(str1[StartIndex+i]!=str2[i]) { bEqual=fal原创 2013-01-03 20:26:43 · 851 阅读 · 0 评论 -
大数除法
大数除法: /*大数相除*/ #include #include #include bool CompareTwoNum(char *str1,char *str2,int Str1BeginIndex,int Str1EndIndex,int Str2BeginIndex,int Str2EndIndex) { int i,j,len1,len2; bool GreaterOr原创 2012-12-12 11:15:09 · 493 阅读 · 0 评论 -
大数运算
大数相加: /*大数相加*/ #include #include #include void Move2Right(char str[],int StrEnd,int StrDest) { int i,dist; dist=StrDest-StrEnd; for(i=StrEnd;i>=0;i--) { str[i+dist]=str[i]; } for(i=0;i<d原创 2012-12-10 12:26:55 · 478 阅读 · 0 评论 -
整数二进制中1的个数
题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。 一个很基本的想法是,我们先判断整数的最右边一位是不是1。接着把整数右移一位,原来处于右边第二位的数字现在被移到第一位了,再判断是不是1。这样每次移动一位,直到这个整数变成0为止。现在的转载 2012-12-11 13:39:51 · 412 阅读 · 0 评论 -
基本于STL heap 之 priority_queue
#include #include #include using namespace std; class priority_queue { private: vector vec; public: int size(); bool empty(); int top(); void pop(); void push(int n); }; int priority_queue::原创 2012-11-12 18:00:15 · 447 阅读 · 0 评论 -
字典树(trie)
#include #include #include using namespace std; #define MAXSIZE 10 typedef struct trie { char *data; struct trie *next[26]; trie():data(NULL) { for(int k=0;k<26;k++) next[k]=NULL; } }TR原创 2012-11-12 17:02:10 · 394 阅读 · 0 评论 -
堆排序实现
今天抽空写了个堆排序的算法,废话不多说,直接上源代码: #include #include #include using namespace std; #define MAXSIZE 6 void print(int a[],int size = MAXSIZE) { int i; for(i=0;i<size;i++) cout<<a[i]<<" "; cout<<en原创 2012-11-11 12:32:43 · 424 阅读 · 0 评论 -
单源点最短路径
#include #define INF 10000 #define N 8 int adj_mtx[N][N]; int pre[N]; int visited[N]; int v; void set(int i, int j, int dist) { adj_mtx[i][j] = dist; adj_mtx[j][i] = dist; } void init() {原创 2013-01-17 23:36:05 · 570 阅读 · 0 评论