- 博客(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
340
原创 打印数组中最小元素及其下标
#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
870
原创 检测完全二叉树
假设: h层前h-1层每层都存满节点最后一层节点分布方式:从左往右依次进行排序前h-2层每个节点都有左右孩子,第h-1层节点孩子:左右孩子均存在||只有左孩子||没有孩子方法:1.按照层序遍历方式找树中的第一个不饱和(孩子不健全节点)2从该节点.之后,...
2020-03-31 15:22:47
222
原创 二叉树的镜像
求这个二叉树的镜像左变右,右变左将每个节点左右子树交换次序//递归方式 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
128
原创 交换两个数(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
194
原创 c++基础知识
C++入门归纳关键字asm(指令字符串):允许在C++程序中嵌入汇编代码;auto:是存储类型的标识符,表明变量“自动”具有本地范围,块模范的的变量声明;class:是C++面向对象设计的基础。使用class关键字声明一个类;bool:C++中的基本数据结构,其真值可为true或者false;do if return try continue doublei...
2020-03-16 09:14:13
217
原创 建堆
堆逻辑:完全二叉树物理:数组特性:任意一个节点的值都需大于等于(或小于等于)他的孩子。堆的基本功能:找最大(最小)值;建堆//小堆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
199
原创 不带头节点的单链表,逆向打印
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
296
原创 栈(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
253
原创 排序(各类排序)
排序直接插入排序原理:先确定第一个数,从后往前找,找到合适的位置插进去。有序区间[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
166
原创 类和对象
类和对象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
134
原创 二叉树
二叉树一.基本概念每个节点上最多有两个子树,左子树与右子树,而且顺序不可颠倒。满二叉树数为每个节点上都具有两个孩子,左孩子与右孩子;完全二叉树为只要左孩子或者右孩子为空,后面的都为空。二叉树节点个数=左子树+右子树+1(根)二叉树的深度=左右子树最大的其中一个+1(根)二叉树第k层的节点个数=第k-1层的左子树个数+第k-1层的右子树个数二.前序遍历:根—>左子树—&g...
2020-03-15 14:35:22
181
原创 顺序表和链表的区别
顺序表和链表的区别核心:连续存储和链式存储的的区别1.底层结构不同顺序表:一段连续空间链表:空间不连续,是链式结构,通过指针方式连接起来2.随机访问顺序表:支持随机访问,O(1)链表:不支持随机访问 访问随机节点时需要遍历 O(N)3.插入/删除3.1尾插/尾删顺序表:不需要搬移大量元素 O(1)链表:和链表结构有关O(1)||O(N)3.2任意位置的插入/删除3...
2020-03-14 16:22:53
438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅