- 博客(14)
- 收藏
- 关注
原创 c++构建一个简单的日期类
#include<iostream> using namespace std; class Date { public: void SetDate(int year,int month,int day){ _year = year; _month =month; _day =day ; } void PrintDate(){ cout<<_yea...
2020-04-28 14:41:01 302
原创 打印数组中最小元素及其下标
#include<stdio.h> int main(){ int a[] = {2,5,1,8,51,0,2}; int min= 0; min = a[0]; int i=0; int b= 0; int size =sizeof(a)/sizeof(a[0]); for(i=0;i<size;++i){ if(min>a[i]){ min=a...
2020-04-17 14:22:15 817
原创 检测完全二叉树
假设: h层 前h-1层每层都存满节点 最后一层节点分布方式:从左往右依次进行排序 前h-2层每个节点都有左右孩子,第h-1层节点孩子:左右孩子均存在||只有左孩子||没有孩子 方法: 1.按照层序遍历方式找树中的第一个不饱和(孩子不健全节点) 2从该节点.之后, ...
2020-03-31 15:22:47 186
原创 二叉树的镜像
求这个二叉树的镜像 左变右,右变左 将每个节点左右子树交换次序 //递归方式 void MirrorBinTree(BTNode* pRoot) if (pRoot) { BTNode* temp =pRoot->pLfet; pRoot->pLfet =pRoot->pRight; pRoot->pRight =temp; MirrorBinTree(pR...
2020-03-30 11:09:49 99
原创 交换两个数(C语言)
方法一:(三个变量) int a =0; int b=2; int c=3; a=b; b=c; c=a; 方法二:(异或) int a=2; int b=3; a=a^b; b=a^b; a=a^b;
2020-03-16 10:45:49 169
原创 c++基础知识
C++入门归纳 关键字 asm(指令字符串):允许在C++程序中嵌入汇编代码; auto:是存储类型的标识符,表明变量“自动”具有本地范围,块模范的的变量声明; class:是C++面向对象设计的基础。使用class关键字声明一个类; bool:C++中的基本数据结构,其真值可为true或者false; do if return try continue double i...
2020-03-16 09:14:13 185
原创 建堆
堆 逻辑:完全二叉树 物理:数组 特性:任意一个节点的值都需大于等于(或小于等于)他的孩子。 堆的基本功能:找最大(最小)值; 建堆 //小堆 void heapify(int a[],int size, int index){ while(1) {int left= 2index+1; int right=2index+2; if(left>=size){ return ; }...
2020-03-15 15:43:25 165
原创 不带头节点的单链表,逆向打印
1–2--3–4--5–null (递归调用) void ReversePrintf(ListNode*head) { if(head) { ReversePrintf(head->next); printf("%d",head->val) } }
2020-03-15 15:32:47 237
原创 栈(C语言)
栈 一个特殊的线性表, 要求:只能在其一端进行数据的插入和删除–>栈顶 栈顶插入—>入栈—>压栈 栈顶删除—>出栈—>弹出 示例一:一个栈的初始状态为空,现将元素1,2,3,4,5,A,B,C,D,E入栈,得到的结果: (1)依次入栈,则出栈的顺序:E.D.C.B.A.5.4.3.2.1. (2)进一个出一个:1,2,3,4,5,A,B,C,D,E 模拟一个栈:(C语...
2020-03-15 15:22:30 214
原创 排序(各类排序)
排序 直接插入排序 原理:先确定第一个数,从后往前找,找到合适的位置插进去。 有序区间[0, i) 无序区间[i ,size) 代码实现: void InsertSort(int a=[], int size) for (int i=0;i<size;i++){ int j; for(j =i-1;j >=0;j–) { if(a[i]>a[j...
2020-03-15 14:39:51 138
原创 类和对象
类和对象 C语言是面向过程的,通过函数调用解决问题; c++是面向对象的,通过对象之间的交互完成。 C语言中的结构体 #include<stdio.h> #include<string.h> struct Student { void SetStudentInfo(charname,chargender,int age) { strcpy(_name,name); st...
2020-03-15 14:37:54 110
原创 二叉树
二叉树 一.基本概念 每个节点上最多有两个子树,左子树与右子树,而且顺序不可颠倒。 满二叉树数为每个节点上都具有两个孩子,左孩子与右孩子; 完全二叉树为只要左孩子或者右孩子为空,后面的都为空。 二叉树节点个数=左子树+右子树+1(根) 二叉树的深度=左右子树最大的其中一个+1(根) 二叉树第k层的节点个数=第k-1层的左子树个数+第k-1层的右子树个数 二. 前序遍历:根—>左子树—&g...
2020-03-15 14:35:22 157
原创 顺序表和链表的区别
顺序表和链表的区别 核心:连续存储和链式存储的的区别 1.底层结构不同 顺序表:一段连续空间 链表:空间不连续,是链式结构,通过指针方式连接起来 2.随机访问 顺序表:支持随机访问,O(1) 链表:不支持随机访问 访问随机节点时需要遍历 O(N) 3.插入/删除 3.1尾插/尾删 顺序表:不需要搬移大量元素 O(1) 链表:和链表结构有关O(1)||O(N) 3.2任意位置的插入/删除 3...
2020-03-14 16:22:53 386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人