自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java中对象的比较

int a = 10;int b = 20;= b2);

2024-07-14 09:00:00 730

原创 数据结构-优先级队列

优先级队列的模拟实现,优先级队列的用法及注意事项,在数组中找前k个较大/较小的数字

2024-07-13 19:21:26 967

原创 排序-java(详解)

直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序及其优化,归并排序,基数排序,计数排序

2024-07-13 15:00:00 947

原创 排序-java(插入排序和选择排序)

主要的排序大致分为以下几类:1,插入排序,又分为直接插入排序和希尔排序2,选择排序,又分为选择排序和堆排序3,交换排序,又分为冒泡排序和快速排序4,归并排序。

2024-07-07 00:22:02 862

原创 c++ 继承多态详解

student s;父类和子类可以有同名成员,默认访问的是子类的,子类同名成员隐藏了父类的同名成员,如果想要访问父类的成员变量,就要在成员变量前面加类域(person1::_num )。

2024-06-02 23:38:15 897

原创 c++学生管理系统

cout << " C语言成绩:" << _gradeC << " 高数成绩" << _gradeM << " 英语成绩:" << _gradeE << " 平均成绩:" << everage() << endl;cout << " C语言成绩:" << _gradeC << " 高数成绩" << _gradeM << " 英语成绩:" << _gradeE << " 平均成绩:" << everage() << endl;cout << "请输入修改后的高数成绩:" << endl;

2024-06-02 17:37:31 1007

原创 c++ string模拟实现

模拟实现string类,里面包含四个成员变量,第一个是指向字符数组的指针,第二个变量是目前存放了多少个字符,第三个变量为这个字符数组的容量的大小。最后一个为静态成员变量npos。注意:一个修饰的成员变量可以在类里面初始化(三者缺一不可),而其他成员变量,要声明定义分离,类中声明,类外定义。char* _str;

2024-06-01 18:28:10 825

原创 c++ string类详解

详细的讲述了string类中的各种函数

2024-06-01 16:11:15 1013

原创 c++动态内存管理/模板

动态内存管理,内存分布,模板

2024-05-28 19:11:08 765

原创 c++类与对象详解

结构体到类过渡>>类的定义>>构造函数>>析构函数>>拷贝构造>>运算符重载>>友元函数>>const>>取地址运算符重载>>隐式类型转换>>匿名对象>>静态成员变量和静态成员函数

2024-05-22 00:17:15 762

原创 C++基础知识

命名空间>>缺省参数>>函数重载>>编译器处理的流程>>&使用规则>>指针和引用的区别>>宏函数>>内联函数(inline)>>auto

2024-05-09 15:29:59 670

原创 数据结构-队列

1,poll:如图,在栈中,4会最先从栈顶取出,而队列1中最先取出的是1,所以想要取出4,就要将1,2,3弹出放到队列2中。同理可得:想要取出元素,先判断的、那个队列中含有元素,将有元素的队列中的元素放到另一个队列中。1,poll:如图,队列中最先取出的是1,而栈1中最先取出的是4,所以要将栈1中的元素全部放到栈2中,然后取出栈2 的栈顶元素就是队列最先取出的元素。3,offer:增加元素,先判断那个队列中有元素,将添加的元素放到有元素的队列中。2,top:取出队头元素,与上述的方法大致相同。

2024-05-02 22:13:44 606

原创 数据结构-栈

栈底层逻辑的理解和模仿实现。逆波兰表达式

2024-05-02 00:56:05 997 2

原创 数据结构-链表练习(面试题)

建立变量cur指向第二个节点,curN指向cur.next,将第二个节点的next改为head,head=cur这样实现,前两个节点顺序的翻转,第二个节点指向了第一个节点,之后cur向后移(cur=curN),curN也向后移,进行循环,直到所以节点的顺序都翻转。1,先用快慢指针,找到中间值,然后将中间值后面的节点翻转,然后,中间值以前的节点从前往后遍历,中间值以后的节点从后往前遍历,并对比节点的val是否相同,如果完全相同,则为回文,如果不相同,则不是。7, 输入两个链表,找出它们的第一个公共结点。

2024-04-29 23:52:20 813

原创 数据结构-链表

4,头插法 addFirst:判断head是否为空(也就是链表中是否有节点),如果没有节点,创立一个节点,head等于这个节点的地址,如果链表中有节点,则创建一个节点,将这个节点的next的值改为下一个节点的地址,也就是头结点的地址,再将头结点的地址改为新建的这个节点的地址。5,尾插法 addLast:首先,判断链表是否为空,如果为空,则直接建立一个节点,并将头结点指向这个节点,如果链表不为空,则需要遍历这个链表找到最后一个节点的位置,将最后一个节点的next改为创立的这个新节点的地址。

2024-04-29 22:45:23 1166

原创 数据结构--顺序表

然后for循环,array[j]=array[j+1],j++,j=2,array[j]=array[j+1],这时,并不需要j++,因为j=3时,将下标为4的数据放到下标为3的地方时,会出现空指针异常,因为下标为四的地方没有数据。10,removeAll,不可以在remove的基础上直接去掉break,因为删除一次后,顺序表的长度变了,数组内容也变了,所以for循环的条件也变了,所以单纯的删掉break并不能实现目的。7,get:1,判断下标是否合法,不合法则抛出异常2,返回下标为pos 的数据的值。

2024-04-25 17:51:42 1036 3

原创 java图书管理系统

DelBook:先在BookList增加一个能改变books数组内容的方法,先找图书,如果没找到,删除失败,如果找到了,得到该书的下标pos,将pos+1下标所对应的数组内容移到以下标为pos的位置上,然后pos+1,重复上述操作,所以这个需要一个for循环来实现。-》 (isLend。首先建立Book这个类,里面包含书的详细信息,包括书名,作者,价格,类型,是否借出(用bool类型,因为只有借出和未借出两种状态),需要封装起来,均用private修饰,防止被其他类访问到。"已借阅":"未借阅") +。

2024-03-28 19:56:20 573

原创 java图书管理系统(简易)

System.out.println("********管理员菜单**********");System.out.println("********普通用户菜单*********");System.out.println("请输入你的身份:1,管理员 2,普通用户");books[0]=new Book("三国演义","罗贯中",10,"小说");books[1]=new Book("西游记","吴承恩",12,"小说");books[2]=new Book("红楼梦","曹雪芹",11,"小说");

2024-03-28 00:06:25 758

原创 JAVA数据类型与变量

1. 四类:整型、浮点型、字符型以及布尔型2. 八种:byte(1字节),short,int,long,loat,double,char(2字节),boolean(没有明确规定)(1)整形和浮点型都是带有符号的(2)整型默认为int型,浮点型默认为double。

2024-03-26 23:09:22 653

原创 JAVA数组

数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。

2024-03-26 22:47:12 856

原创 java-String类

s1,和s2指向的是不同的对象,这时s3 = s1,将s1的对象的地址赋值给s3,则s3存储的也是s1的对象的地址,所以s1和s3指向同一个对象。前者为false,后者为true。因为int为基本类型变量,比较的为变量存储的值是否相同。而String为引用类型变量,比较两个引用变量引用的是否为同一个对象。String为引用类型,存储的并不是字符本身。

2024-03-25 23:56:37 276

原创 JAVA接口详解

修饰的类1,定义的成员变量与普通的类没有区别2,抽象类不可以被实例化3,当一个类不具体描述某个对象时,可以定义为抽象类4,如果一个类包含抽象方法,则这个类必须是抽象类,没有抽象方法,也可以被称为抽象类5,一个方法可以被修饰为abstract,这个方法可以不被实现,被称为抽象方法例如:6,抽象类也可以发生向上转型,动态绑定,多态7,抽象方法,满足重写特点,(一定要被子类重写)被static,final,private、修饰都是不能发生重写的@Override。

2024-03-25 22:25:36 1202

原创 java封装,继承,多态详解

public:不同包中的非子类protected:可访问不同包中的子类默认权限:包访问权限,可访问同一包中的不同子类private:类访问权限一般情况下,建议成员变量用provide修饰,而成员方法用public修饰(当然,这只是一个偷懒的方法,具体情况还要具体分析)一般自定义包前有package,例如:包名的写法:1,包名以小写字母来书写2,域名逆置写法,例如想要建立如下的包时,应写为com.baidu.www。

2024-03-24 19:38:08 868 1

原创 java异常

Throwable为最顶级的类,它分为两个类分别为Error和Exception,Exception又分为运行时异常(非受查异常),和编译时异常(受查异常)。异常内容与异常类型不匹配时,将不会捕捉到相应的异常,这会交给JVM,程序终止,返回exit code 1(正常为exit code 0)这时的处理方法为:在try中放入可能出现异常的代码,在catch(要捕获异常的类型 e){解决异常}编译时异常必须经过处理,进行异常声明,声明后,只是不会显示出现异常标识,但异常依旧存在。

2024-03-21 19:02:25 236 1

原创 java类与对象

我们定义类的时候需要用到关键字class,且类的名称要采用大驼峰的命名方法,(大驼峰命名方法指:是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,每个单词的的首字母大写,而小驼峰则是指除第一个单词首字母小写外,其余单词首字母均大写)一个类里面包括:1,成员变量(字段\属性)这部分内容定义在类中,方法之外2,成员方法(成员行为)这部分定义在类中,属于局部变量,具有生命周期和作用域,生命周期:进入方法创建,结束方法销毁。作用域:作用于在当前方法内部。

2024-03-18 23:28:38 808 1

原创 C语言--升级版冒泡排序(可适用于任意类型)

如果cmp_int 返回类型大于0,则进入swap函数,swap函数是将两个元素进行交换,所以传入两个元素的地址,在传入元素的类型大小,因为前面提到那两个元素的地址都是char*类型的,所以每次解引用交换只能交换一个字节的内容,所以要传入元素的大小,每传一个字节,地址都进行加加,直到传完原本元素内存大小的内容,即完成两个元素的整体交换。以上是整型的排序的内容。自定义函数bubble_sort,是通过仿照qsort函数来实现的,所以bubble_sort与qsort的传参类型相似。

2024-01-08 10:00:00 605

原创 C语言--qsort函数的用法

int(*compar)(const void*p1,const void*p2),两个元素比较大小,返回一个大于0,或小于0,或等于0的数,这个参数用来确定排序的顺序(由小到大或者由大到小)void*base,需要接受不同函数类型的数据,所以用void*size_t num,size_f无符号整型,代表需要排序的个数。qsort是库函数,可以完成对任意类型的数据进行排序。size_t size,代表需要排序的元素的大小。头文件为<stdlib.h>.

2024-01-07 10:00:00 532 1

原创 C语言--简易计算器(函数指针数组和函数指针的巩固和练习)

首先进入菜单,若选择0退出,选择在1到7之间,进行下一步。1到7分别对应不同的算法,选择想要达到的算法效果并赋值到input中,将不同的算法函数放到一个数组中,input作为数组下标对应相应的算法函数(例如,input=1,代表想要进行加法运算,故数组中下标为1的元素应该对应进行加法运算的函数),故选择不同的算法就可以通过下标访问数组中不同的函数。进入菜单,进行选择,选择1到7,则进入计算器,选择0,退出计算器,选择了其他,则重新进行选择,由于有多条分支所以用Switch语句来实现。

2024-01-06 10:00:00 429 1

原创 C语言--指针详解

指针实际上就是变量的地址,例如:int a=4,p=&a,p存放的就是a变量的地址,printf("%p",p);打印的是第一个字节的地址(一个内存单元为一个字节,int类型占有个字节,占四个内存单元,打印p,打印的是小地址的内存单元)指针的大小取决于地址所占据的内存空间,而地址所占据的内存空间取决于是32位还是64位的机器,若为32位的,则指针占4个字节,若为64位,则指针占8个字节。

2024-01-05 01:31:29 1463 1

原创 C语言--猜数字游戏

让系统随机生成一个数字,且想要的数字范围为1-100,故rand%100,得到1-99的数字,再加1,从而得到1-100的数字。运用简单的分支语句,来进行判断输入的数字与随机生成的数字的大小关系,从而输出与之相对应的语句,方便玩家对下次的输入数字的范围进行判断。1,随机生成一个数字。2,输入一个数字,该数字与随机生成的数字进行比较。并得到相应的反馈(大了还是小了)进入菜单,进行选择,选择1,则进入游戏,选择0,退出游戏,选择了其他,则重新进行选择,由于有多条分支所以用Switch语句来实现。

2024-01-02 09:00:00 503 1

原创 C语言--操作符详解(2)(移位操作符,位操作符的,操作符优先级)

移位操作符,位操作符的,操作符优先级

2024-01-01 09:00:00 538

原创 C语言--操作符详解(1)

操作符:前置后置++/--,逻辑操作符,取地址操作符,解引用操作符,sizeof,三目操作符,逗号操作符

2023-12-31 00:56:21 902 1

原创 C语言--整型提升--源码反码补码转换

C语言--整型提升--源码反码补码转换

2023-12-29 07:00:00 503 1

原创 C语言--简易版扫雷总结

简易版扫雷程序设计思路总结

2023-12-28 02:43:16 1164 1

原创 C语言基础(转义字符,数据类型)

整型分为int (4个字节),long int(C语言规定,sizeof(long int)>=sizeof(int)),short(2个字节),long long int(8个字节)。如果想要打印出“c:\text\text.c”时,则因为制表符的存在应写成printf("c:\\text\\text.c").运用\\转义字符的作用,防止它被解释成\t。如,你打印"a\bcde"则在打印到a的时候发生退格,光标退到a前面,然后接着打印c,c将a覆盖后接着打印de,即打印结果为cde。

2023-12-19 20:08:41 146

空空如也

空空如也

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

TA关注的人

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