自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++之Vector

vector介绍

2022-10-28 18:28:22 458 1

原创 c++之map和set

map和set 详细

2022-10-17 20:42:51 263

原创 2021-10-31 剑指 Offer 31. 栈的压入、弹出序列

问题描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。解题思路:拿到这个题我开始想的是能不能找规律,看有没有规律可寻找,但是没有找到。然后我又想到了另一种方法,模拟出栈顺序,如果能模拟出来,那么就能够判断是否为正确的出栈顺序。创建一个stack st;

2021-10-31 17:07:53 117

原创 c++之模版的语法和原理

C++模版的语法和原理1.泛型编程如何实现一个通用的交换函数呢?第一种方法:使用函数重载实现#include<ostream>void swap(int& a, int& b){ int temp = a; a = b; b = temp;}void swap(double& a, double& b){ double temp = a; a = b; b = temp;}int main(){ int a = 1, b =

2021-09-29 22:57:25 271

原创 关于二叉树的建立和遍历易错问题

```c#define _CRT_SECURE_NO_DEPRECATE//二叉树的建立#include<stdio.h>#include<stdlib.h>typedef struct btree { char data; struct btree* lchild; struct btree* rchild;}btnode, *bitree;void visit(char c, int level){ printf("%c 在第 %d 层 \n", c, .

2021-09-12 14:18:46 966

原创 c++之内存管理

C/C++内存管理内存分布c语言动态内存管理方式c++中动态内存管理方式operator new 和operator delete函数new和delete的实现原理内存分布c语言动态内存管理方式c++中动态内存管理方式operator new 和operator delete函数new和delete的实现原理1.内存分布内存中分为栈、堆、数据段(静态区)、代码段。栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存

2021-06-04 00:29:46 116

原创 c++之类与对象

类与对象上篇中篇下篇上篇1.类的定义:class className{//类体};class 为定义类的关键字,className为类的名字。注意类结束之后的分号。类中的元素称为类的成员,类中的数据成为类的属性或者成员变量,类中的函数称为类的方法。2.类的两种定义方式(1)声明和定义全部放在类中(这样编译器可能会将成员函数当成内联函数对待);(2)声明放在.h文件中,定义放在类的实现文件.cpp中。3.类的访问限定符以及封装(1)访问限定符:public,private,prote

2021-06-01 23:53:07 93

原创 c++之函数重载和引用

一、函数重载首先什么是函数的重载:在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数、类型、顺序)必须不同。这样就能构成函数重载。其次提出一个问题:为什么c++支持函数重载而c语言不支持函数重载?那么c++又是如何支持函数重载的呢?如果要回答这个问题,首先得明白四个过程:预处理-编译-汇编-链接预处理:头文件展开,宏替换,去掉注释,条件编译编译:检查语法,生成汇编代码汇编:把汇编代码转换成二进制的进制码链接:生成可执行文件其中在第三步汇编的时候,会生成一个符号表

2021-05-19 18:00:56 260

原创 选择排序

#实现选择排序"""在未排序的中找到最小或者最大,交换位置;在这个排序算法中可以看成已排序和未排序两个排序。"""def choiceSort(list): for i in range(len(list)-1): # 索引从0到len-2,每一轮在该位置都会放每轮找到的最小值 minIndex = i #每轮位置从i开始,i之前的大小都已经确定好了 for j in range(i+1,len(list)): #从j从i+1,到len位置,找

2020-12-06 18:00:04 84

原创 python-闭包学习(一)

```python#闭包 针对函数 在函数中提出的概念 在函数中嵌套函数#闭包具备的条件,第一个 函数嵌套函数 第二个外部函数的返回值是内部函数名--注意这里不能加括号,加括号代表的调用 第三个内部函数使用外部函数的变量"""格式def 外部函数(): def 内部函数(): ....... .... return 内部函数名字"""def func(): a=100 def inner(): b=99 pri.

2020-12-01 19:50:18 102

原创 python-实现冒泡排序和快速排序

11.28-学习笔记设置flag在一定程度上优化了冒泡排序#实现冒泡排序#冒泡排序就是相邻两个数比较,大的后移,然后一轮过去后,大的会在最后一个位置def bubble_sort(list): for i in range(0,len(list)):#轮数 flag=False for j in range(0,len(list)-i-1):#每轮的次数 if(list[j]>list[j+1]):#在这里可以进行优化,实际上在后

2020-11-28 14:20:00 315 1

原创 C-数据结构之顺序栈、链式栈

11.27-学习笔记(今天终于把栈写了)顺序栈的实现如下://栈的实现-只允许在一端进行插入或者删除操作的线性表(后进先出) //栈顶、栈底、空栈#include<stdio.h>#define MaxSize 10typedef struct stack{ int data[MaxSize]; int top;}Sqstack; //创建一个栈 void creat(Sqstack *s)//参数:栈的首地址 { int e; while(1) { pri

2020-11-27 21:09:16 115

原创 C-数据结构之队列(顺序和链式)

11.24 学习笔记-今日打卡队列(链式和顺序表)代码没有注重格式,只是能够实现基本的功能。代码中很多多余的变量和书写,都是在调试过程中产生的,(本博客只是记录代码)//队列-链式存储 #include<stdio.h>#include<stdlib.h>//建立一个结点的结构体,里面存有data和next typedef struct Qnode{ int data; struct Qnode* next;}node;//链式队列的首尾指针 typedef

2020-11-25 17:53:00 101

原创 C-数据结构之单链表逆置

11.25-学习笔记单链表的逆置-大概思想就是新建立一个头结点,然后让之前的结点使用头插法插入到新建立的链表中。(这个也是使用快慢指针判断回文串中前半部分逆置的思想(我感觉是这样的))//实现单链表的逆置//逆置单链表就是新创建一个链表,然后让原始列表的每一个结点使用头插法插入到新链表中。 #include<stdio.h>#include<stdlib.h>typedef struct node{ int data; struct node * next;}Lno

2020-11-25 17:45:18 7335

原创 C-数据结构之单链表实现回文串的判断

学习笔记–11.23刚接触数据结构,实现方法简单,文中注释均为我在写代码中遇到的问题和调试过程。且在回文串判断的时候开始选择用快慢指针进行(但是由于此处思路不是很清晰,每次都会少计算一个位置导致换了一种方法)-方法简单但是时间复杂度就比较高;后续我会再学习一下快慢指针的方法。//数据结构之回文串的判断//存储方式,单链表#include<stdio.h>#include<stdlib.h>typedef struct node{ char c; struct nod

2020-11-23 16:38:37 1212

原创 C-数据结构之顺序表的增删改查

11.21-学习笔记#include<stdio.h>#include<stdlib.h>#define MaxSIZE 100#define ElemType int//定义一个顺序表typedef struct{ ElemType data[MaxSIZE];//顺序表的元素 int length;//顺序表的长度}seqlist,*list;//顺序表的创建 list creatlist(seqlist *L){// printf("1.L=%d\n

2020-11-21 20:28:32 204

原创 C-数据结构(直接插入排序、折半排序、希尔排序)

11.21-学习笔记之直接插入排序,折半排序,希尔排序小白水平,只记录自己的学习过程//本文实现直接插入排序、折半插入排序、希尔排序--顺序表实现//直接插入排序的思维就是一个未排队序列和一个已排队序列,然后设置哨兵。 #include<stdio.h>#include<stdlib.h>#define Maxsize 100typedef struct{int data[Maxsize];int length; }seqlist,*list;list cre

2020-11-21 16:28:54 458

原创 C-单链表之相邻结点交换

11.21-本文实现的相邻结点交换-本文注释均为我在写代码途中遇到的问题//本文实现单链表的相邻结点交换#include<stdio.h>#include<stdlib.h> typedef struct node{ int data; struct node* next;}Lnode,*Linklist;//使用尾插法建立单链表Linklist creat(){ Linklist L,s; Lnode* p; int e; L=(Linklist)ma

2020-11-21 12:17:28 2166

原创 C语言--单链表的实现(简单,有注释)

学习笔记11.21(小白水平)每一个注释均为调试语句实现了链表相关的操作如有问题,请指出,谢谢!//本文实现单链表的相关功能 #include<stdio.h>#include<stdlib.h>typedef struct node{ int data; struct node* next;}Lnode,*Linklist;int init(){ //初始化单链表 Linklist L; L->next=NULL; return 0;}

2020-11-21 10:59:53 251 1

原创 C-利用指针实现strlen

每天记录自己的学习笔记(11.18)#include<stdio.h>//利用指针实现strlen的功能 int my_strlen(char* arr){ char* start=arr;//将arr的地址给start char* end=arr;//arr地址给end while(*end!='\0'){//如果*end不等于'\0' end++;//指针++ } return end-start;//指针-指针就是等于长度 }int main(){ c

2020-11-18 19:05:12 1189

原创 基于python实现顺序表(简单)

用c写数据结构太烦了所以尝试用python写了部分的代码(本人小白)(基于python的list)全文语法简单,易懂**如果有错,请各位大神指导一下;```pythonimport stringclass Sequen(): def __init__(self): self.list=[]//创建一个空列表 def Createlist(self)://创建列表 a = int(input("请输入要创建的元素,输入9999则结束\n"))

2020-11-17 19:50:54 4691 9

空空如也

空空如也

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

TA关注的人

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