练习
Important_
电动小马达
展开
-
顺序表的简单实现
#include<iostream>#include<assert.h>using namespace std;typedef int DataType;class SeqList{public: SeqList() : _array(NULL) , _size(0) , _capacity(0) {} SeqList原创 2017-08-08 11:37:13 · 317 阅读 · 0 评论 -
剑指offer面试题:求二叉树的镜像
题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像二叉树的结点定义如下:struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x) , left(NULL) , right(NULL) {}};...原创 2018-09-04 10:08:30 · 256 阅读 · 0 评论 -
链表面试题
1.比较顺序表和链表的优缺点,说说它们分别在什么场景下使用? 链表是一种动态的数据结构,因为在创建链表时,我们不需要知道链表的长度,当插入一个结点时,只需要为该结点分配内存,然后调整指针的指向来确保新结点被连接到链表中。所以,它不像顺序表,内存是一次性分配完毕的,而是每添加一个结点分配一次内存。正是因为这点,所以它没有闲置的内存,比起顺序表,空间效率更高。 顺序表 :两大问题...原创 2018-08-21 22:42:15 · 247 阅读 · 0 评论 -
链表面试题(二)
1.判断单链表是否带环?//判断是否带环 我们可以用快慢指针思想 我们来两个指针一个 一个每次走一步 //一个每次走两步 如果不带环那么它两走到最后是不会碰面的 反之 如果带环//那么它们迟早会碰面 ListNode* HaveLoop(ListNode* phead){ if(pHead==NULL) return NULL; ...原创 2018-08-23 15:16:39 · 186 阅读 · 0 评论 -
二叉树的先序、中序、后序、层序遍历
Binary Tree Preorder Traversal 二叉树的先序遍历//先序遍历 先根 后左 其次是右/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x...原创 2018-08-20 14:11:53 · 329 阅读 · 0 评论 -
二叉树的简单实现
二叉树是常见的数据结构掌握它还是很有必要滴#pragma oncetemplate<class T>struct BinaryTreeNode{ T _data; BinaryTreeNode<T>* _left; BinaryTreeNode<T>* _right; BinaryTreeNode(con...原创 2018-08-27 10:23:39 · 298 阅读 · 0 评论 -
队列和栈的相关面试题
1.实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)//思路:这里我们需要两个栈s1 s2 一个正常存入数据一个只存入小的数据//就比如说 第一个数据先入两个栈 然后插入第二个数据时 先和s2的栈顶数据//比较 如果小的话就分别插入到s1 s2中 如果大的话就只插到s1中#include<iostream>#inc...原创 2018-08-26 10:25:02 · 619 阅读 · 0 评论 -
字符串中找出连续最长的数字串
#include<iostream>#include<string>using namespace std;int main(){ string str; str.resize(255); scanf("%s",&str[0]); //cin>>str; if(str.length()>255...原创 2018-08-15 21:49:58 · 882 阅读 · 0 评论 -
模拟实现itoa
itoa将任意类型的数字转换为字符串。在< stdlib.h >中与之有相反功能的函数是atoi。 函数原型: char*itoa(int value,char*string,int radix); nt value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等简单实现c...原创 2018-08-12 11:57:22 · 793 阅读 · 0 评论 -
模拟实现atoi
//atoi函数的简单实现//函数用途:将字符串转为整形//函数原型 int atoi(const char* str)//遇到非数字或字符串结束符('\0')才结束转换,并将结果返回。#include<iostream>using namespace std;//考虑溢出 如果转化数字超过int范围 //int占用4字节,32比特,数据范围为-2147483648~2...原创 2018-08-04 11:30:51 · 272 阅读 · 0 评论 -
C++日期类的简单实现
日期类主要功能 给定任意日期可以对该日期进行加或减上响相应的天数后得到新的日期 或者给定你两个日期算出两个日期之间相差的天数代码实现:#include<assert.h>#include<iostream>using namespace std;class Date { public: Date(int yea...原创 2018-06-06 17:09:58 · 543 阅读 · 0 评论 -
C语言中的运算符总结
C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都为运算符处理。除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符,比如位运算符。 中文名:C语言运算符 英文名:Operators of C programming language翻译 2017-03-26 12:53:22 · 3284 阅读 · 0 评论 -
双向链表的简单实现丶
#include<iostream>#include<assert.h>using namespace std;typedef int DataType;struct ListNode{ ListNode* _next; ListNode* _prev; DataType _data; ListNode(DataType x) :_next(NU原创 2017-08-03 18:24:41 · 255 阅读 · 0 评论 -
已知先序遍历序列和中序遍历序列,求后序遍历序列
回顾一下二叉树的三种遍历 先序: 根->左->右 中序:左->根->右 后序:左->右->根 只要我们知道中序和先序或着后序 那么我们就可以根据已知的两种遍历序列 求出剩下的另一种遍历序列 例:已知该二叉树的先序遍历序列为:A-B-D-E-G-C-F,中序遍历序列为:D-B-G-E-A-C...原创 2018-09-07 12:49:27 · 12616 阅读 · 2 评论