自定义博客皮肤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)
  • 收藏
  • 关注

原创 list的特性及使用

1.list是序列容器,允许在序列的任何位置进行时间复杂度为o(1)的插入和删除操作,并且由双向迭代器。2.list的底层是双链表,双链表不是物理上连续的储存空间,而是不同的地址空间通过next和prev指针连接成顺序表。3.list相较于其他的顺序序列容器(deque,vector),主要缺点是不能通过下标进行访问元素,要访问元素只能通过迭代器的方式顺序访问。如下草图所示。

2024-06-19 12:39:39 683 1

原创 vector底层实现(源码)

#pragma once#include<assert.h>namespace bit{template<class T>class vector{public:typedef T* iterator;typedef const T* const_iterator;iterator begin(){return _start;}iterator end(){return _finish;}const_it

2024-06-18 18:58:30 348

原创 vector的特性及使用

单独定义一个vector的形式为:1.如上定义其实相当于一个大小可变化的序列容器,即变长数组。2.vector采用连续的储存空间来储存元素,意味着可以通过下标来访问元素,和数组一样高效,但是又比数组更优秀,它的大小是可以动态改变的,而且它的大小是可以由自身改变的,不用手动扩容。3.与其他的动态序列容器相比(deque,list等),vector在访问元素的时候更加便利,在头尾添加和删除元素的效率更高,但是对于其他不在于末尾的删除和插入操作,效率更低。4.本质讲,vector。

2024-06-17 22:33:36 2080 3

原创 c++中string的函数 用法总结 !!!

string在STL中的函数接口讲解和使用

2024-06-17 15:09:53 787 2

原创 【c++】类和对象(一)

在c++标准中,引用了this指针这一概念,让this指针指向当前的对象,在函数调用时通过this指针来访问成员变量,只不过在代码实现中编译器自动完成this指针的使用,将this指针引用给省略了,因此我们在函数调用时只需要写成员变量的名称就可以了。浅拷贝或者说值拷贝其实是有风险的,例如如果对象中有指针类型是,如果用系统生成的拷贝构造函数时,两个对象进行拷贝时,两个对象的指针指向同一片空间,当一个对象释放时,那么另一个对象就指向了一片已经被系统回收的空间,就会出现野指针,可能会造成内存泄漏。

2024-01-31 00:46:56 853 3

原创 初识linux系统基本指令(1)

初始在linux操作系统中的一些基本指令

2023-11-26 15:35:56 922 7

原创 循环队列的实现

我们在循环队列的结构体中设置了两个值front和rear(back)分别表示队列的头和尾,为避免出现队列溢出的情况我们可以添加了一个int类型的变量size来记录队列中有效元素个数以及判断是否队列已满,或者多开一个位置来解决无法判空或者判满的情况。同时rear往后走一个位置,如果rear超出了最后一个节点的话则需要重新置为最开始的位置(0),在循环队列中判断是否超出循环最大的值以及将超出的值置为正常值时我们采用的是取模的方法,比这个模数小的值不变,比模数大则置为余数。最后将队列所占用空间释放,销毁队列。

2023-11-22 16:52:33 49

原创 栈和队列及面试题

栈和队列的实现及面试题

2023-11-16 18:22:32 48 1

原创 c语言实现贪吃蛇

setlocale 的第⼀个参数可以是前⾯说明的类项中的⼀个,那么每次只会影响⼀个类项,如果第⼀个参 数是LC_ALL,就会影响所有的类项。游戏中贪吃蛇实质是由数个相连的结构体类型的指针构成的,而蛇身的指针是特殊的结构体指针,它不仅包含指向蛇头的指针还存储着蛇的总得分、食物节点的信息、每个食物的得分、每次休息时间、蛇头方向、状态等信息。在蛇移动过程中需要不断判断下一个节点是否为食物或者撞到自己或者墙壁,如果吃到食物则需要将食物的节点重新作为新的头节点进行打印,如果不是则正常打印蛇身达到移动的视觉效果。

2023-10-31 23:40:54 217 1

原创 基于动态顺序表实现通讯录项目

基于顺序表实现通讯录项目

2023-10-27 00:14:51 139 1

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

在介绍顺序表前,先来了解一下线性表。

2023-10-25 20:54:28 42 1

原创 数据结构前言

当我们得到了大量的数据时,如果没有根据一定的规则进行排序,那么程序员进行操作和利用数据的效率将会大大降低,所以我们可以借助数组结构体类型等等对数据有序性的组织在一起,所以结构可以理解为组织数据的一种方式。假设数据的数量的非常庞大,频繁的读取和获得数组中有效数据个数会大大降低数据读取的效率,且数组的大小为定值,数据的数目太大或太小就可能会造成数据的丢失或者空间的浪费;常见的身高体重,甚至是简单的一二三四都是数据,包括肉眼可见的一系列网页信息等等,本质上都是由数据组成的。数据结构是计算机存储、组织数据的方式。

2023-10-25 11:48:57 36 1

原创 扫雷游戏的设计和实现

实际操作中我们发现只创建个大小为9*9大小的数组是不够的因为数组中每个元素的下标实际上比这个元素在数组中的排序要小1,输入坐标会有不方便,而且排查的时候排查该元素的周围八个元素,当排查边界坐标是会发生''越界'',所以我们通常会创建10*10的数组,但是前一行和前一列不会放雷,相当于''无雷区'',顺便显示行和列以便输入坐标。这样一个棋盘需要我们创建两个二维数组来存放信息(一个在后台显示一个在游戏界面),假如后台我们将有雷用字符'1'来表示;printf("--------扫雷游戏-------\n");

2023-08-02 15:58:49 119 1

原创 简述c语言的分支和循环

相信大家对c语言中的分支和循环有着或多或少的了,那么接下来,让我们就这个问题展开探讨和深一步的了解。

2023-07-25 20:10:47 93

原创 一位编程初学者的自述

在未来的这些天中,我要努力掌握并精通c语言,为此我计划每天最少花六七个小时的时间来学习,在学习中我也会将我遇到的问题和解决方法分享到我的博客上,希望能够帮助更多的编程学习着参考和学习,同时每两天总结出学习到的知识,构建完整的知识体系。我是一位平凡无奇的编程学者。当我第一次接触到编程语言时,我就被吸引住了,因为这让我相信努力才是王道,为未来进军it行业做好充分准备!在进入大学前的漫漫暑假中,我加入了编程学习的行伍中。希望我做出的这些努力能为我进入百度公司做贡献。

2023-07-25 15:47:45 62

空空如也

空空如也

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

TA关注的人

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