自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 C++初阶 - 入门

文章目录前言一、C++关键字二、使用步骤1.引入库2.读入数据总结前言C++是在C的基础上改编出来的,我们最常用的C++版本是C++98和C++11。以下是本篇文章正文内容,下面案例可供参考一、C++关键字C++二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.f

2021-11-15 18:46:06 571

原创 C++:为什么在C++中有函数重载而在C语言没有?

文章重点前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言C++是在C语言的基础上改进来的,所以C++对C语言的缺陷做了很多的补充。函数重载就是对于C提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pypl

2021-11-15 18:44:53 557

原创 数据结构 - 排序

文章目录前言一、排序的概念二、插入排序1.直接插入排序2.希尔排序三、选择排序1.直接选择排序2.堆排序四、交换排序1.冒泡排序2.快速排序优化快排非递归五、归并排序归并非递归六、非比较排序 - 计数排序总结前言本文会介绍一些常见的排序算法。提示:以下是本篇文章正文内容,下面案例可供参考一、排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:在排序过程中,碰到一样的元素,在排序完成后,相同元素的前后位置没有改变就是稳定的,反之不稳定

2021-11-06 19:33:50 200

原创 二叉树的oj题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、力扣965. 单值二叉树二、力扣104.二叉树的最大深度三、力扣226.翻转二叉树四、力扣100.相同的树五、力扣101.对称二叉树六、力扣144.二叉树的前序遍历七、力扣94.二叉树的中序遍历八、力扣145.二叉树的后序遍历九、力扣572.另一棵树的子树10、力扣110.平衡二叉树十一、牛客:二叉树遍历前言一些简单的oj题以下是本篇文章正文内容,下面代码可供参考一、力扣965. 单值二叉树链接思路:深度优

2021-11-03 17:34:01 179

原创 数据结构 - 二叉树的实现

二叉树的链式结构实现前言一、二叉树结构体的创建二、手动构建二叉树1.开辟二叉树节点2.创建节点并链接三、二叉树的一些接口实现前序遍历中序遍历后序遍历层序遍历二叉树的销毁二叉树的节点个数二叉树的叶子节点个数二叉树的第k层的节点个数二叉树的查找值为x的节点判断二叉树是否是完全二叉树总结前言二叉树的结构特征在这节介绍了,这里就直接实现一个二叉树提示:以下是本篇文章正文内容,下面案例可供参考一、二叉树结构体的创建这里用二叉链。typedef char BTDataType;typedef st

2021-11-02 19:29:35 380

原创 数据结构-二叉树和堆的实现

二叉树树的概念和结构概念结构树的其他概念名词树的孩子兄弟表示法树的实际应用二叉树的概念和结构概念特殊的二叉树二叉树的性质二叉树的存储结构二叉树的顺序结构-堆堆的实现堆的向下调整算法堆的创建堆的销毁堆得插入堆的删除堆顶的数据堆数据的个数判断堆是否为空堆排序二叉树的链式结构二叉树的实现会在下一章详细写出来树的概念和结构概念树是一种非线性的数据结构,它是由n(n>=0)个有限节点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一颗倒挂的树,也就是说根是朝上的,叶子朝下。1.树有一个特殊节点,

2021-11-01 20:22:16 278

原创 数据结构-栈和队列

栈和队列栈栈的概念栈的实现结构体的创建初始化打印销毁入栈出栈获取栈顶数据获取栈的元素个数检查栈是否为空队列队列的概念队列的实现结构体的创建初始化队尾入数据队头删数据获取队列的有效元素打印获取队尾元素获取队头元素判断是否为空销毁栈栈的概念栈:一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵循后进先出的原则(Last In First Out)压栈:栈的插入操作叫做进栈/压栈/入栈,在栈顶入数据。出栈:栈的删除操作叫做

2021-10-31 13:59:43 65

原创 链表oj题

初学链表的练习题1.力扣203.[移除链表元素](https://leetcode-cn.com/problems/remove-linked-list-elements/description/)1.力扣203.移除链表元素思路:迭代,创建一个哨兵位,创建三个指针,第一个指针是cur,用来遍历的,第二个指针是next,他是cur的下一个节点,...

2021-10-31 10:38:36 264

原创 数据结构-链表

链表的实现链表的结构二级目录三级目录链表的结构链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表可以二级目录三级目录...

2021-10-30 20:11:45 59

原创 顺序表oj

一些练习题关于顺序表1.力扣27.[移除元素](https://leetcode-cn.com/problems/remove-element/)2.力扣26.[删除有序数组中的重复项](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/submissions/)3.力扣88.[合并两个有序数组](https://leetcode-cn.com/problems/merge-sorted-array/)4.力扣189.[

2021-10-29 17:27:28 92

原创 数据结构-顺序表

本章重点线性表顺序表顺序表的静态存储顺序表的动态存储线性表线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构。常见的线性表:顺序表、链表、栈、队列、字符串等等。线性表在逻辑上是线性结构,也就是说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,数据必须是从左到右连续的,逻辑结构和物理结构是一致的。缺陷:1.动态增容有性能消耗,有一定

2021-10-09 16:02:14 67

原创 数据结构-复杂度

数据结构初阶算法效率时间复杂度概念大O的渐进表示法递归空间复杂度算法效率算法效率分为两种:第一种是时间效率,第二种是空间效率。时间效率就是时间复杂度,空间效率就是空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间,随着科技的发展,计算机的存储容量达到了很高的程度,我们如今不需要特别关注一个算法的空间复杂度了。时间复杂度概念时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行消耗的时间,从理论上说是

2021-09-22 19:07:38 64

原创 C语言-文件操作

本章重点文件类型文件缓冲区文件指针文件类型根据数据的组织形式,数据文件被称为文本文件或者二进制文件数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件文本文件:拿记事本打开的文件都是文本文件字符一律以ASCII形式存储,数据型数据既可以用ASCII形式存储,也可以使用二进制形式存储文件缓冲区ANSIC标准采用“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓

2021-09-18 13:57:29 153

原创 C语言-动态内存管理

本章重点1.动态内存函数2.常见的动态内存的错误动态内存分配动态内存是在堆区上分配的mallocvoid* malloc(size_t size)向内存申请一块连续可用的空间,并返回指向这块空间的指针1.如果开辟成功,则返回一个指向开辟好空间的指针2.如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查3.如果参数size为0,malloc的行为是标准未定义的,取决于编译器开辟完的空间用完要释放free(p); //用来释放动态开辟的内存p=N

2021-09-13 16:24:03 68

原创 C语言-通讯录的简单实现

思路1.先创建一个程序的流程2.实现增、删、查、改功能程序的主要流程void menu(){ printf("*******************************\n"); printf("****** 1.add 2.del ****\n"); printf("****** 3.search 4.modify ****\n"); printf("****** 5.sort 6.show ****\n"); printf("******

2021-09-10 16:58:51 88

原创 C语言进阶-自定义类型

本章重点深入了解结构体、枚举、联合结构体结构是一些值的集合//结构体类型声明struct tag //tag结构体的标签 { char name[20]; int age;}student; //student是结构体变量,也是全局变量 int main(){ struct tag student = { "zhangsan",18 }; return 0;}匿名结构体类型struct{ char name[20]; int age;}

2021-09-09 18:20:59 77

原创 C语言进阶-字符函数和字符串函数

本章重点重点介绍字符和字符串的库函数strlen函数原型size_t strlen ( const char * str );size_t 是 unsigned int头文件是#include <string.h>功能:计算字符串的长度,读到'\0'结束#include <stdio.h>#include <string.h>int main(){ char arr[] = "hello world!"; printf("%d\n", s

2021-08-22 10:56:33 187

原创 C语言-回调函数

回调函数回调函数是通过一个函数指针调用的函数,就是把一个函数的指针作为参数传递给另一个函数,当这个指针被调用时,我们就说这就是回调函数。一个简单的例子就是qsort函数,它就是通过地址找到那个函数在调用可以看到qsort函数有四个参数第一个参数void* base是接受要排序的数组第二个参数size_t num,是数组元素的总和size_t是typedef把unsigned int重定义为size_t第三个参数size_t width是数组一个元素的大小第四个参数 int(com

2021-08-06 18:46:13 268

原创 C语言进阶-指针

#本章重点深入了解各种指针字符指针int main(){ char c = 'w'; char* ch = &c; printf("%c\n", *ch); return 0;}//字符指针

2021-08-06 15:46:23 131

原创 C语言进阶-数据的储存

#本章重点详细解读数据在内存中是怎么存储的数据类型//整型 char //存的是ascii值 signed char //有符号的char类型 unsigned char //无符号的char类型 short signed short unsigned short int signed int unsigned int long signed long unsigned long long long signed long long unsigned

2021-08-03 18:59:44 166

原创 C语言-初阶指针和结构体

本章重点讲解简单的指针和结构体指针指针是什么?指针是存放它指向变量地址的变量#include <stdio.h>int main(){ int a = 10; int* p = &a; return 0;}指针的大小:在32位平台上是4个字节,64位平台上是8个字节指针和指针类型指针类型 int a = 10; int* pi = &a; char* pc = &a; short* ps = &a; float

2021-08-02 20:16:18 208

原创 判断自幂数

一种简单的判断是否是水仙花数思路:1.把一个数拆分,保存在数组中2.判断是否是水仙花数完整代码#include <stdio.h>#include <math.h>int storage(int i,int arr[]){ int count = 0; while (i) { arr[count] = i % 10; i /= 10; count++; } return count; //返回的是数字一共有多少位}void IfRi

2021-08-02 13:18:27 175

原创 C语言-操作符和表达式详解

本章重点详细介绍各种操作符,对操作符加深了解对表达式求值的一些注意事项操作符算术操作符/ %对于除号,保留的是商,取模保留的是余数#include <stdio.h>int main(){ int n = 7; printf("%d\n", 7 / 2); //除号操作数有一个是浮点数,就执行的是浮点数的除法 printf("%.2lf\n", 7 / 2.0); //printf("%d\n",7/0); 不能除0,会报错

2021-07-23 11:09:25 309 2

原创 C语言-扫雷

本章重点本次扫雷只是增加了一个递归展开功能,以后会加入标记等功能主函数srand是以时间戳随机设计一个种子int main(){ srand((unsigned)time(NULL)); int input = 0; do { menu(); printf("请选择:>"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: print

2021-07-17 09:44:10 119 2

原创 C语言-三子棋

运用前面学过的知识做一个小游戏三子棋源码不是在同一个源文件里实现的,是在一个工程内实现的新建.h文件,里面声明全局变量,声明函数在创建.c文件,用来定义函数test.c 用来放主函数主函数test.c#include "game.h"void menu(){ printf("********************\n"); printf("***1.play 0.exit****\n"); printf("********************\n");}void

2021-07-15 16:00:48 105 2

原创 C语言-数组

本章学数组一维数组数组是什么?数组是一组相同类型的集合一维数组的创建和初始化#include <stdio.h>int main(){ int arr1[]={1,2,3,4,5,6,7,8,9,10}; //arr1表示数组中有10个元素 int arr2[10]; //arr2这种定义在vs2019会报警告,未引用的局部变量 int arr3[10]={0}; //arr3表示有10个元素,每个元素都是0 return 0;}数组在创建的时

2021-07-15 13:03:22 170

原创 C语言-函数

本章重点对函数、函数调用、递归等进行学习1.函数是什么?函数:子程序,是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。一般会有输入参数和返回值,提供对过程的封装和细节的隐藏。C语言中函数的分类?库函数strcpy把一个字符串的内容拷贝到另一个字符串,函数由两个参数,一个是char类型的source,源字符串,另一个是char类型的destination,目的地字符串,函数返回类型是char*,头文件是<str

2021-07-13 17:37:13 116

原创 分支和循环语句练习

一些简单的练习题1.计算n的阶乘#include <stdio.h>int main(){ int i = 1; int sum = 1; int n = 0; scanf("%d", &n); for (i = 1; i <= n; i++) { sum *= i; } printf("%d\n", sum); return 0;}下面用递归#include <stdio.h>int Factorial(int x){

2021-07-12 18:57:59 54

原创 C语言-分支和循环语句

分支和循环语句本章内容分支语句if语句1.什么是语句?2.单个if3.if-else4.多分支if-else4.悬空else5.在函数中省略else练习1-判断一个数是否为奇数练习2-输出1-100的奇数switch语句练习循环语句whilewhile中的breakwhile中的continuegetchar、putchar函数for循环for中的breakfor中的continue练习do...whilebreakcontinuegoto语句本章内容分支语句if语句1.什么是语句?C语言是一门

2021-07-12 16:22:10 247

原创 C语言从入门到进阶

用C语言实现三子棋小游戏欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用M

2021-07-11 18:07:54 769

原创 小白的编程之路

小白的编程之路@初始C语言一级目录二级目录三级目录欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markd

2021-06-03 12:05:06 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除