数据结构与算法分析
✇易木残阳
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 · 322 阅读 · 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 · 297 阅读 · 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 · 306 阅读 · 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 · 301 阅读 · 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 · 309 阅读 · 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 · 258 阅读 · 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 · 252 阅读 · 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 · 575 阅读 · 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 · 425 阅读 · 0 评论 -
C++综合系列之模拟栈模版(数组版及单链表版)
C++综合系列之模拟栈模版(链表版)原创 2017-06-29 17:02:17 · 439 阅读 · 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 · 1992 阅读 · 1 评论 -
堆栈实现计算数学表达式
堆栈模拟数学表达式原创 2017-06-28 23:02:59 · 2133 阅读 · 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 · 272 阅读 · 0 评论