自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java实现数据结构——双链表

更详细的理论请移步笔者的另一文章LinkedListLinkedList 官方文档LinkedList的底层是双向链表结构链表后面介绍,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。1.LinkedList实现了List接口2.LinkedList的底层使用了双向链表3.LinkedList没有实现接口,因此LinkedList不支持随机访问4.

2024-07-13 16:03:12 712

原创 Java实现数据结构——不带头单链表

本文不会详细说理论可观看笔者之前的文章。

2024-07-02 14:10:26 805

原创 Java实现数据结构(前置)

一般的类和方法,只能使用具体的类型要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。-----来源《Java编程思想》对泛型的介绍。泛型是在JDK1.5就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化。

2024-06-25 14:13:26 810

原创 Java实现数据结构——顺序表

笔者在以前的文章中实现过顺序表本文在理论上不会有太详细的讲述如有需要可以翻看笔者之前的文章Java中已经封装好了顺序表的类但在使用之前先自己实现一遍。

2024-06-10 21:33:25 616

原创 Java_认识异常

Java中虽然已经内置了丰富的异常类但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我们实际情况的异常结构假设需要实现一个用户登陆功能那么在这个过程中可能会出现两种异常用户名不匹配密码不匹配在不适用异常的情况下if(!System.out.println("用户名错误!");if(!System.out.println("密码错误!");System.out.println("登录成功!");可能会如上述所写。

2024-05-30 20:06:05 752

原创 Java_认识String类

和类。这两个类大部分功能是相同的,这里介绍。

2024-05-28 09:08:44 909 2

原创 Java——简易图书管理系统

本文使用实现一个简易图书管理系统。

2024-05-25 22:06:32 1047 1

原创 Java抽象类与接口

System.out.println("画了一个三角形");System.out.println("画了一个矩形");System.out.println("画了一个圆形");

2024-05-21 20:40:24 837 1

原创 继承与多态

把子类的对象给到父类,这个过程称为向上转型Dog dog = new Dog("大黄",2);可以直接这样写Animal animal = new Dog("大黄",2);因为Animal与Dog之间存在继承关系,所以可以这样赋值这里表示animal这个引用指向了dog这个引用所指向的对象这个过程中就把子类对象给到了父类类型的引用,这就是向上转型。

2024-05-14 17:29:38 812

原创 Java——类与对象

Java是一门纯面向对象的语言,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。1.2 面向对象与面向过程常说C语言是面向过程,Java是面向对象。那什么是面向对象,什么是面向过程呢?简单举个例子,现在我要将一个大象装入冰箱里。如何思考这个问题那么大部分情况下,首先想到的就是,怎么打开冰箱门,怎么装进去,怎么又关上冰箱门。

2024-05-11 12:59:59 806 2

原创 C语言贪吃蛇

注 :本文是基于链表实现贪吃蛇游戏。

2024-05-08 16:56:51 942 5

原创 双向链表的简单实现

1.双向链表的结构注意:这里的“带头”和之前的文章中单链表和顺序表说的“头节点”是两个概念,实际前面的在单链表阶段称呼不严谨,但是更好的理解就直接称为单链表的头节点。带头链表里的头节点,实际为“哨兵位”,哨兵位节点不存储任何有效元素,只是站在这⾥“放哨的”“哨兵位”存在的意义:遍历循环链表避免死循环。

2024-05-05 19:23:34 630 4

原创 编译与链接

一、翻译环境与运行环境一、翻译环境与运行环境在ANSIC的任何一种实现中,存在两个不同的环境。1. 第一种是翻译环境,在这个环境中源代码被转换为可执行的机器指令2. 第二种是执行环境,它用于实际执行代码。

2024-05-04 17:54:29 714 2

原创 单链表的简单应用

1.1中间/头部的插⼊删除,时间复杂度为O(N)1.2增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。1.3增容⼀般是呈2倍的增长,势必会有⼀定的空间浪费。例如当前容量为100,满了以后增容到 200,我们再继续插⼊了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。二、链表的概念及结构是⼀种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表的结构跟火车车厢相似,淡季时车次的车厢会相应减少,旺季时车次的车厢会额外增加几节。

2024-04-20 21:00:00 754

原创 C语言顺序表的简单实现

当我们想要使用⼤量使用同⼀类型的数据时,通过手动定义大量的独立的变量对于程序来说,可读性非常差,我们可以借助据的方式。数据结构是计算机存储、组织数据的方式。。数据结构反映数据的内部构成,即数据由那部分构成,以什么方式构成,以及数据元素之间呈现的结构。

2024-04-17 15:00:00 1069 2

原创 C语言文件操作

函数名功能适用于fgetc字符输入函数所有输入流fputc字符输出函数所有输出流fgets文本行输入函数所有输入流fpuits文本行输出函数所有输出流fscanf格式化输入函数所有输入流fprintf格式化输出函数所有输出流fread二进制输入文件fwrite二进制输出文件下面是示例当首次打开一个文件的时候,文件指针是默认指向文件开头的位置我们可以看到,他的返回值是返回读到的字符,那为什么返回值要设定为int类型呢。

2024-04-12 12:00:00 1250 2

原创 自定义类型—结构体

其中嵌套了s3,已经知道s3的大小是16个字节,其中最大对齐数是8,那么就从偏移量8开始占16个字节。但是如果时包含和自己相同类型的指针,是可行的,在x86或x64的环境下,指针的大小无非就是。原因在于,为了访问未对齐的内存,处理器。如果传递⼀个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的。当⼀个结构包含两个位段,第⼆个位段成员比较大,无法容纳于第⼀个位段剩余的位时,是舍弃。里使用位段,能够实现想要的效果,也节省了空间,这样网络传输的数据报大小也会较小⼀些,对。

2024-04-10 12:00:00 665 3

原创 数据在内存中的存储

整数的二进制表示方法有三种:原码,反码,补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位最高位的⼀位是被当做符号位,剩余的都是数值位。正整数的原反补相同。负整数则不同。原码:正负整数所对应的二进制形式反码:原码按位取反补码:反码+1对于整形来说:内存中存放的是数据的补码。原因在于,使用补码,可以将符号位和数值域统⼀处理;同时,加法和减法也可以统⼀处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

2024-04-08 12:00:00 915 3

原创 C语言内存函数

函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。这个函数在遇到'\0'的时候并不会停下来。如果source和destination有任何的重叠,复制的结果都是未定义的。

2024-04-04 13:00:00 505 1

原创 字符函数和字符串函数

C语言中有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。这些函数的使用都需要包含⼀个头文件是ctype.h。

2024-04-03 07:00:00 681 2

原创 指针5(凑字数)

该题主要是对指针类型的理解,结构体变量为20个字节,+1就跳过20字节,16进制表示为14,unsigned long类型+1就是+1,int*类型+1就是跳过四个字节。这里赋值的时候,里面是逗号表达式,计算出来应该是。那么p[0]打印的就是a[0][0]

2024-03-31 01:15:05 209 1

原创 指针4(凑字数)

sizeof(数组名),sizeof中单独放数组名,这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节&数组名,这里的数组名表示整个数组,取出的是整个数组的地址(整个数组的地址和数组首元素的地址是有区别的)除此之外,任何地方使用数组名,数组名都表示首元素的地址。

2024-03-30 21:17:59 323 1

原创 指针3(凑字数)

这里为什么str1和str相同,str3和str4不同呢。虽然str1和str2数组中的元素相同,但是他们是两个数组,在内存中分别开辟了两处空间。常量字符串存储到单独的⼀个内存区域, 当几个指针指向同⼀个字符串的时候,他们实际会指向同⼀块内存。

2024-03-24 20:13:18 962 3

原创 指针2(凑字数)

野指针是指指针指向的地址是不可知的。

2024-03-23 14:57:21 636 2

原创 指针1(凑字数)

内存单元的编号 == 地址 == 指针⼀个⽐特位可以存储⼀个2进制的位1或者0。CPU访问内存中的某个字节空间,必须知道这个字节空间在内存的什么位置,而因为内存中字节很多,所以需要给内存进⾏编址(就如同宿舍很多,需要给宿舍编号⼀样)。

2024-03-22 23:27:02 1000 6

原创 C语言中qsort库函数的简单应用与模拟实现

这里我们对内部进行改造,比较趟数上没有什么大毛病,需要进行更改的地方就是比较过程与交换过程。

2024-03-20 15:50:43 1089 8

原创 小凡のC语言学习之旅——一道日常练习

到这里,基本上是全完成了。但是在实践过程中我们会发现,会出现值为-0.00的情况,而实际生活中基本不会出现-0这种书写,所以需要进行改进。我们可以在计算根植时,多加一个0,这样既不影响在不等于-0时根的值,又可以在根植为-0时使根植为0,同时还不影响整体代码的效率。今天的分享就到这里,恳请个位三连+关注,小凡给各位磕一个!这样确实可以解决,但是效率比较低,有没有更简便的方法呢。那么我们可以先使用Δ判断是否有实根,再使用求根公式。今天分享的是自己在做题时碰到的一道题。hello,我是小凡。

2024-01-03 19:35:12 405 8

原创 小凡のC语言学习之旅——扫雷游戏

hello大家好,我是正在努力学习的编程的小凡。今天想要分享的内容是在控制台玩的一个扫雷小游戏。一起来看看吧。首先我来解释一下我所写的这个扫雷游戏的玩法:在游戏开始后,会生成一个9*9大小的棋盘,在这个棋盘上将会随机生成10个雷。玩家在扫雷进行扫雷时,需要输入想要探查的位置的坐标。若该位置是雷,则玩家直接寄。若该位置不是雷,则以该位置为圆心,以一为半径,统计周围有多少颗雷,并显示在所探查的位置。游戏玩法在设计好后,我们就可以来实现设计。那我们开始进行设计吧!

2023-12-20 23:13:54 244 10

原创 小凡のC语言学习之旅——分支语句

hi,我是正在努力学习编程的小凡。距离上一篇blog发表已经过了一段时间了,这段时间学习了分支与循环语句,一起来总结一下吧!PS:文章中只针对自身情况进行总结。

2023-12-02 21:58:45 136 3

原创 小白编程起步

目前大一,相对来说需要花精力学习的课程不是特别多,每天抽出2小时时间进行理论学习与上机实操,在不方便上机实操时可采用手写等形式写代码,在可以使用电脑的情况下再进行实践。保证每天都能接触到编程。大家好,我是来自重庆的一名计算机类专业的大一新生,在第一节C语言课上见识到了老师念PPT的讲课模式后就知道不自己想办法进行学习就只能成为炮灰,于是就自己找资源学习。学习编程的目标是想提升自己的编程能力,想自己独立制作游戏(知道这很难,但是想试试),再就是找到让自己满意的工作。

2023-11-22 22:07:23 52

空空如也

空空如也

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

TA关注的人

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