自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据结构----栈和队列

1.顺序表实现#include<stdio.h>#include<stdlib.h>typedef int STDataType;//顺序结构实现:实现一个更简单的顺序表//可以调用顺序表接口来实现typedef struct stack{ STDataType* _data; int _size; int _capacity;}stack;void initStack(stack* st){ //空栈 if (st == NULL) retu

2021-04-06 12:13:31 131 1

原创 数据结构---单链表

链表的概念及结构概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。实际中链表的结构非常多样,以下情况组合起来就有8种链表结构:单向、双向带头、不带头循环、非循环一. 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。二. 带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外

2021-03-31 17:54:52 82

原创 链表面试题

203. 移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* removeElements(struct ListNode* hea

2021-03-31 11:56:04 157

原创 数组相关面试题

27.移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。int removeElement(int* nums, int numsSize, int val){ //开空间的做法 int *newArr=(int*)malloc(sizeof(int)*numsSize);

2021-03-28 10:59:48 147

原创 数据结构---顺序表

1.线性表线性表是n个具有相同特性的数据元素的有限序列。常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。2.顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组存储。动态顺序表:使用动态开辟的数组存储//动态顺序表typedef stru

2021-03-27 15:58:17 74

原创 动态内存管理--malloc/calloc/realloc/free的用法

1.动态内存分配动态内存分配在堆上,栈区的会自动销毁和创建为什么存在动态内存分配?我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:空间开辟大小是固定的。数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能

2021-03-26 22:55:59 183

原创 数据结构--时间复杂度和空间复杂度

1.算法效率1.时间复杂度:算法中基本操作的执行次数大O符号(Big O notation):是用于描述函数渐进行为的数学符号。推导大O阶方法:1、用常数1取代运行时间中的所有加法常数。2、在修改后的运行次数函数中,只保留最高阶项。3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。...

2021-03-26 15:46:22 86

原创 数据结构--排序(冒泡)

1.冒泡排序

2021-03-26 10:32:29 335

原创 带头循环双向链表以及顺序表和链表的区别和联系

区别:1. 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。2. 带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单顺序表和链表的区别和联系顺序表:空间连续,支持连续访问中间或前面部分的插入删除时间复杂度为O(n);并且增容的代价比较大...

2021-03-10 22:45:07 236

原创 日期类的实现

日期类的接口class Date{public:// 获取某年某月的天数int GetMonthDay(int year, int month){static int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int day = days[month];if (month == 2&&((year % 4 == 0 && year % 100 != 0) || (year

2021-03-03 22:15:41 72 1

原创 单链表的增删查改

#include<stdio.h>#include<stdlib.h>typedef int LDataType;//定义节点:数据+指针typedef struct listNode{LDataType _data;struct listNode* _next;}listNode;//链表typedef struct list{//保存第一个节点的地址listNode* _head;}list;listNode* creatListNode(LData

2021-02-01 11:12:29 43

原创 指针和数组习题(sizeof()和strlen())

总结: 数组名的意义:1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址。3. 除此之外所有的数组名都表示首元素的地址// 一维数组 int a[] = { 1, 2, 3, 4 }; printf("%d\n", sizeof(a));//16;整个数组的大小 printf("%d\n", sizeof(a + 0));//4;1的地址 printf("%d\n", sizeof(*a

2020-11-16 21:37:23 80

原创 指针(1)-初级

指针指针是什么?通过它能找到以它地址的内存单元,它是一个变量,存放内存单元的地址(编号),存放在指针的值都被当成地址来处理。 int a = 10;//在内存中开辟一块空间 int *p = &a;//变量a取地址;将a的地址存放在变量p中,p的类型是int* printf("%d\n", *p);输出:10char *p = "abcde";printf("%s\n", p);输出:abcde常量字符串不能修改,地址解引用找到内容指针数组:是一个存放.

2020-11-16 10:54:43 71

原创 C语言小游戏 - 三子棋(详细)

三子棋游戏game.c和test.c都会用到一样的东西,所以定义一个game.h的头文件,game.c和test.c都引用game.h,即#include"game.h"思路:1.先初始化一个棋盘(3X3),即数组的创建和初始化,数组里边存储一个空格2.把这个棋盘给打印出来3.玩家下棋(玩家先下),给一个坐标,进行判断4.电脑下棋,这里的电脑随机选一个空着的坐标下棋,并未对电脑智能化,如果想让电脑变强,可以自己写一下5.玩家和电脑每走一步,都判断一下是否胜利(有三个相连的将获胜)下边是代码

2020-10-25 22:05:57 210

原创 结构体

#include<iostream>using namespace std;class Date{public: void Init(int year, int month, int day) { _year = year; _month = month; _day = day; } void Print() { cout << _year << " -" &...

2020-06-27 12:04:05 97

H筛选器.exe

H筛选器.exe

2022-02-24

空空如也

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

TA关注的人

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