![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
大帆帆帆帆帆帆帆帆帆帆
这个作者很懒,什么都没留下…
展开
-
斐波那契数列实现(Fibonacci sequence)
菲波那切数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)方法一:递归法int Fibonacci_1(int N){ if(N == 1 || N == 2) return 1; else...原创 2018-07-23 22:24:29 · 2411 阅读 · 1 评论 -
栈和队列的基本操作
栈:头添加头删除#include<stdio.h>#include<stdlib.h>typedef struct node1{ int nValue; struct node1 *pNext;}MyStack;typedef struct node2{ int nCount; MyStack *pTop;}Stack;void s_Init...原创 2018-07-24 17:28:40 · 1806 阅读 · 0 评论 -
非递归法遍历二叉树
前序遍历void UnRecPreTraversal(BinaryTree *pTree){ if(pTree == NULL)return; //申请辅助栈 Stack *pStack = NULL; s_Init(&pStack); while(1) { //当前节点非空 while(pTree) { //打印 入栈 向左走 printf("...原创 2018-07-29 21:22:46 · 1700 阅读 · 0 评论 -
单向链表逆序
思想:仅需改变每个节点的指向就行,并且保证每个节点都不丢失,所以用了三根指针来记录节点,p1指针用来指向(被指向节点),p2指针用来指向(指向节点),p3指针用来指向(丢失的节点)具体实现看代码:Node* ReList(Node* pHead){ if(pHead == NULL)return NULL; if(pHead->pNext ...原创 2018-07-21 21:54:28 · 1692 阅读 · 0 评论 -
四则运算表达式求值(中缀表达式与后缀表达式转换)--- 栈的应用
中缀表达式转后缀表达式首先借助辅助栈,遇到数字和字符直接打印,遇到符号把当前符号和栈顶元素进行优先级比较,如果当前元素优先级高,直接入栈,如果当前元素优先级低,则将栈内元素一次出栈再将当前元素入栈,遇到左括号,无条件入栈,遇到右括号,将栈内元素依次输出,直到左括号为止。中缀表达式:(9+6)* 7 - 8/2=====>>>>>>后缀表达式:9 6 + ...原创 2018-07-22 22:39:10 · 1600 阅读 · 0 评论 -
memmove函数
void *memmove(void* dest,const void* src,size_t n){ char *p1 = dest; const char *p2 = src; if(p2 < p1) { p2 += n; p1 += n; where(n-- != 0) { ...原创 2019-04-12 14:32:48 · 610 阅读 · 0 评论 -
Invert a Binary Tree
/* definition for a binary tree node struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x):val(x),left(NULL),right(NULL) {} };*/class Solution{public: Tree...原创 2019-04-12 14:40:24 · 120 阅读 · 0 评论 -
匹配字符串
char* strstr(const char* str,const char* target){ if(!*target)return NULL; char* p1 = (char*)str; while(*p1) { char* p1Begin = p1; char* p2 = (char*)target; while(*p1 && *p2 &&...原创 2019-04-17 17:44:00 · 159 阅读 · 0 评论