数据结构与算法分析
✇易木残阳
We know nothing about the world. I'm more than a Qter.
open source、sharing、free.
展开
-
算法之斐波纳契数列
#include using namespace std;int fibonacci_recursive(int a){ int sum; if(a 0) return -1; else if((a == 1) || (a == 2)) return 1; else s原创 2017-06-28 23:01:47 · 337 阅读 · 0 评论 -
查找算法之二分查找
#include using namespace std;typedef int ElementType;int binarySearch_recursive(ElementType a[], ElementType e, int begin, int end){ if(begin > end) return -1;// int midIndex = (begin原创 2017-06-27 20:11:28 · 311 阅读 · 0 评论 -
算法之汉诺塔
void hanoi(int n, char A, char B, char C){ if(n == 1) printf("move %d from %c to %c\n",n,A,C);//步骤2:将A中最后一个盘子从A直接移至C else { hanoi(n-1,A,C,B);//步骤1:将A中最上面n-1个盘子从A通过C移至B原创 2017-06-27 20:10:53 · 317 阅读 · 0 评论 -
算法之阶乘
#include using namespace std;//此种方法只能用于小数阶乘long long factorial(int n){ return (n 0) ? -1 : ((n == 0) ? 1 : n * factorial(n-1));}void main(){ cout 25) << endl;}原创 2017-06-27 20:10:19 · 324 阅读 · 0 评论 -
算法之整数交换
void swap(int *p1,int *p2){ int *p = (int*)malloc(sizeof(int)); *p = *p1; *p1 = *p2; *p2 = *p;}void main(){ //不借助其他变量 int i = 4, j = 5; i = i+j; j = i-j; i = i-j;原创 2017-06-27 20:09:51 · 328 阅读 · 0 评论 -
算法之二进制数中1的个数
int numTable[256] = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3,3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3,4, 3, 4, 4, 5, 3, 4, 4, 5,原创 2017-06-07 16:56:08 · 268 阅读 · 0 评论 -
算法之最大公约数
public class GCD { static int m, n, temp; public static void swap() { if (m < n) { temp = m; m = n; n = temp; } } // 方法一;欧几里得辗转相除法原创 2017-06-07 16:56:47 · 263 阅读 · 0 评论 -
算法之十进制转换成二进制
#define bits(x) sizeof(x)*8void decToBin(short x){ int temp[bits(x)]; int num = bits(x); if(x < 0) { x = -x; printf("-"); } for(int i = 0; i < num; i++) {原创 2017-06-07 16:57:37 · 593 阅读 · 0 评论 -
C++综合系列之模拟单链表模版
list.h#ifndef _LIST_H_#define _LIST_H_#include<iostream>using namespace std;class List;class Node{ private: int value; Node *next; public: Node() {原创 2017-06-06 16:49:57 · 438 阅读 · 0 评论 -
C++综合系列之模拟栈模版(数组版及单链表版)
C++综合系列之模拟栈模版(链表版)原创 2017-06-29 17:02:17 · 452 阅读 · 0 评论 -
二叉树创建以及遍历(递归和非递归方式)
#include iostream>using namespace std;typedef struct biTreeNode{ char data; struct biTreeNode *lChild; struct biTreeNode *rChild;}biTreeNode, *biTreePtr;//创建void create_preOrder_pt原创 2017-06-28 23:02:22 · 2004 阅读 · 1 评论 -
堆栈实现计算数学表达式
堆栈模拟数学表达式原创 2017-06-28 23:02:59 · 2163 阅读 · 0 评论 -
排序算法
typedef int ElementType;void printArray(ElementType num[], int count){ for(int i = 0; i count; i++) cout << num[i]; cout << endl;}void swap(ElementType &a, ElementType &b){原创 2017-06-27 20:11:51 · 287 阅读 · 0 评论