自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 问答 (1)
  • 收藏
  • 关注

原创 VisualStudio报不存在的编译错误

背景:从Linux移植项目到Windows,Linux上使用了VSCode开发,Windows上使用了VisualStudio开发,VS在编译项目爆呢一些根本就没有的语法错误,根本原因是VSCode默认使用utf-8编码中文,VS默认使用GBK,导致中文的注释被误解为语法错误,解决方法:...

2021-11-12 17:46:13 1044

原创 汇编语言学习总结

汇编语言学习总结汇编语言在我看来是一门什么样的语言?为什么会想要学习汇编语言汇编语言是一种最接近机器语言的一门编程语言。与纯机器语言的01代码一一对应的一门语言,只是为了方便编写使用了方便人阅读的指令格式。学习汇编语言的难度确实挺高的。必须对计算机组成,尤其是CPU工作原理有相当的了解才有汇编语言入门的可能性。就拿几乎所有编程语言都会使用和helloworld程序来说吧。别的编程语言几乎都是上来让你写一下这个程序,再来解释这个程序,很快就能入门,C语言就是这样,通过hello world我们就能知道C语

2021-01-09 10:37:24 772

原创 JAVA中不使用LinkedList来创造一个顺序表

不使用LinkedList而是使用泛型来创造一个顺序表:public class MainClass<T> { private static class Node<U> { U item ; Node<U> next ; Node() { item = null ; next = null ; } Node(U item , Node<U> next) { this.item = item ; this.next

2020-05-27 21:43:47 186

原创 JAVA利用Scanner扫描输入

最近看到JAVA编程思想4TH。看到JAVAio这一章节的时候,觉得十分繁复和难以理解。不知道是不是故意的,这本书中一直没有出现运行时输入这样的场景。对于一个习惯了一个C语言这样的过程编程的人来说,已经习惯于scnaf这个十分便捷的运行时输入函数。但是在学习JAVA的过程中,运行时输入的内容书本上完全没看到过示例,于是网上找了一下JAVA中运行时输入的办法,方式还是比较多的。这里先列出最实用最方便的一种,其余的日后补充:利用Scanner:Scanner的构造器接受最多类型的参数。它能接受字符串(Stri

2020-05-27 20:55:31 247

原创 java中隐藏工厂设计模式

我们都知道工程模式是JAVA中应用广泛的一种设计模式,但是还有一种更加安全的设计模式,那就就将匿名内部类融合进工厂模式中,便有了完全隐藏的工厂模式:例子:package chapter10;import static net.mindview.util.Print.*;interface Service{ void method1(); void method2();}interface ServiceFactory{ Service getService();}class Im

2020-05-27 13:55:37 151

原创 JAVA中构造器内部的多态方法行为

JAVA中构造器内部的多态方法行为。我们知道JAVA中存在继承的时候,构造的一个导出类的对象时总是会先调用基类的构造方法。当我们在导出类中覆盖基类的某个方法,再把一个导出类对象的引用向上转型为基类引用的时候,我们使用这个引用调用该方法,结果使用出来的还是导出类的方法,这时JAVA中的动态斑绑定(多态)实现的。那么,就有一个问题了,如果这个多态时套基类的构造器中呢?这时候会发生什么?话不多说,直接实验一下:package chapter8;import static net.mindview.util.P

2020-05-27 00:05:46 142

原创 java中的标签使用

java中的标签使用;java中尽管还是保留了goto这个关键字,但是已近废除了goto这个机制,但是保留了标签,配合break和continue使用。使用方法;1:标签后面必须有一个如for这样的循环体2:一般的continue会退回最内层的循环的开头,并继续执行。3:带标签的continue会到达标签的位置,并重新进入紧接在哪个标签后面的循环。4:一般的break会中断并推出当前循环。5:带标签的break会中断并跳出标签所指的循环。例:package chapter4;import j

2020-05-26 14:47:18 385

原创 java中==与equals的区别详解

java中==与equals的区别:相信很多人在学习java的时候,都对比较两个对象是否相等时都有疑惑。要理解他们的差别,我们首先要搞清楚java中两种不同的数据类型,java试图将所有对象都封装为对象,事实上他也是这么做的,但是为了照顾其他语言程序员的编写习惯,还是保留了基本数据类型,但是也提供了相应的包装器类型,比如int和Integer,我们创造int a;和Integer b=new Integer();是不同的,a的存储是放在堆栈区里面,b存放在堆里面,a和它对应的存储区域是绑定死的,比如还有一

2020-05-26 11:37:23 218

原创 稀疏矩阵的压缩存储原理

稀疏矩阵的压缩存储原理:三元组顺序表#define MAXSIZE 12500 //非零元个数最大值 typedef struct { int i,j;//该非零元的上标和下标 ElemType e;//非零元 }Triple;typedef struct { Triple data[MAXSIZE+1];//非零元三元组表,data[0]未用 int mu,nu,tu;//矩阵的行数列数和非零元的个数 }TSMatrix; ...

2020-05-24 20:11:36 260

原创 数据结构的串的块链表示的C语言表示

字符串比较常见的三种表示方法是顺序存储,堆存储以及块链存储。块链存储时用的最少的,它的结构:#define CHUNKSIZE 80//块的大小,需要自定义typedef struct Chunk{ char ch[CHUNKSIZE]; struct Chunk *next;}Chunk,*Chunkp;typedef struct { Chunk *head,*tail; int cutlength;}LString;我们可以自定义每一个块的大小,再把每一个块按照顺序链接起来

2020-05-24 16:32:59 387

原创 数据结构中串的C语言实现--堆分配存储表示(部分方法)

数据结构中串(字符串)的堆分配存储表示:结构体:typedef struct { char *ch; int length;}HString;ch用来存储申请的空间首地址,length用来存储申请到的地址大小即字符串的长度。字符串的初始化函数:Status StrAssign(HString *t,char *chars){ char *c=chars; int i; for(i=0,c;*c;++i,++c);//*c可以替换为*c!='\0' if(!i){ t->c

2020-05-24 16:20:13 925

原创 数据结构队列的顺序实现--循环队列

数据结构中队列的顺序实现,即循环队列的C语言实现。为了简化,这里的顺序队列存储的元素是基本数据类型int型。SqQueue结构体:typedef struct { int *base; int front; int rear;}SqQueue;其中base存储申请(malloc)到的地址空间的首地址。front和rear是两个整型变量,front的值为队头的下标,rear的值为队尾的...

2020-05-02 11:21:41 605

原创 数据结构的链式队列实现,数据元素为字符数组

链式队列的C语言实现,数据元素为字符串。#include<stdio.h>#include<stdlib.h>#include<string.h>#define ERROR 0#define OK 1typedef int Status;typedef struct QNode{ char data[20]; struct QNode *n...

2020-05-01 12:12:56 312

原创 数据结构链式队列的C语言实现

队列是区别与栈的一种线性表。栈的核心是LIFO,即后进先出,栈最常用的是顺序实现,用一片连续 的地址存储栈。而队列是一种FIFO也就是先进先出的线性表,一个队列有且仅有一个队头和一个队尾,元素只能由队尾进入,从队头排出。而队列比较常用的是链式结构实现的队列。我们可以想一想为什么链式比顺序结构更加适合于队列。原因就在于队列是先进先出,而顺序实现申请到的地址是返回首元素地址的(malloc函数)这个首...

2020-05-01 00:32:37 398

原创 利用顺序栈走迷宫--数据结构栈的使用例题

从迷宫的入口走到迷宫的出口,一直是一个经典的程序设计问题。这里也是采用最简单的“穷举法”。即从入口处发顺着没有方向向前前进,若能走通则继续前进,否则换一个方向,所有方向都都走不通(不允许往来时的位置走,否则就会走两个各自间无限死循环)就退回到上一个格子,换方向继续尝试,直到走到出口,或者所有的地方都走到了仍然没有出口,表示此迷宫无解。思路:使用一个二维数组存储地图,以0表示不可走的墙体,1表示可...

2020-04-29 21:42:14 771

原创 数据结构含编辑程序

行编辑程序都是需要带有缓冲区功能的,如果没有缓冲区的化,用户的输入要求将是严格的,没有机会修改错误的输入数据。C语言中的scanf函数输入字符串或者是嵌套在循环里面的getchar函数都是可以看出来来C语言在我们输入数据的时候是有缓冲的区。为了理解缓冲区的工作原理,我们可以用一个字符栈来模拟缓冲区的运行过程:首先,我们需要一个字符栈:#include<stdio.h>#inclu...

2020-04-29 17:26:48 113

原创 数据结构--括号匹配检验(数据结构习题)

《数据结构》严蔚敏版习题3.2.2,括号匹配问题。是顺序栈的课后习题。原问题:假设表达式中允许包括两种括号:圆括号和方括号,其嵌套方式随意,即(【】())等都是正确的格式,【(】)是不正确的格式。设计一个算法检查输入的字符串中的括号是否是匹配的。/-------------------------------------------------------------/思路:使用栈来解决,遇到...

2020-04-29 15:12:29 8239 2

原创 数据结构顺序栈实现(数据元素是字符数组)

C语言实现顺序栈,其中的数据元素是字符数组。#include<stdio.h>#include<stdlib.h>#include<string.h>#define SIZE 100#define INCR 10#define ERROR 0#define OK 1typedef int Status;typedef struct { ch...

2020-04-29 10:51:44 538

原创 数据结构顺序栈的实现(数据元素设置为int)

用C语言实现顺序栈#include<stdio.h>#include<stdlib.h>#define ERROR 0#define OK 1typedef int Status; typedef struct { int *base; int *top; int size;}SqStack;int main(){ Status InitSta...

2020-04-29 10:01:15 328

原创 《数据结构》线性表的静态链表实现

数据结构中的线性表指的是在逻辑上连续呈现出线性的一组数据元素。它的实际实现方法根据存储结构的不同可以分为顺序实现、链式实现、静态链式实现。这里介绍不常见的静态链表实现。它的存储结构主要依赖于数组,也就是说不同于顺序实现和链式实现,它的链表长度的不可变化的。存储结构逻辑图如下:规定了这个无名结构体也可以被叫做com型变量,100的这个变量组成的数据被称作SList变量。上图给出了一个实例,这个数...

2020-04-27 20:44:06 295

原创 数据结构中的线性表的链式实现(数据元素是字符串)

数据结构中的线性表的链式实现(数据元素是字符串),新手向,大佬就别看了,浪费时间。#include<stdio.h>#include<stdlib.h>#include<string.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status;ty...

2020-04-26 16:03:54 462

原创 线性表的链式实现C语言代码(新手向,大佬别浪费时间看了)

针对数据结构中的链表,用C语言实现所有函数的代码。说实话,我感觉数据结构的教材都是采用伪代码,有的函数连伪代码也没提供,对初学数据结构的小白实在不是很友好。希望这些代码能给初学者带来方便。#include<stdio.h>#include<stdlib.h>//线性表的链式实现中,每一个数据元素都存在结构体节点中,每一个节点结构体需要包含数据域和指针域两个部分//...

2020-04-22 17:29:38 308

原创 数据结构线性表的顺序实现所有方法(数据元素为int)--数据结构C语言版严蔚敏2.2

数据结构线性表的顺序实现所有方法(数据元素为int)–数据结构C语言版严蔚敏.章节2.2:#include<stdio.h>#include<stdlib.h>typedef struct { int *elem; int length; int size;}Sqlist;int main(){ int compare(int ,int );//比较两...

2020-04-20 20:09:55 159

原创 函数指针作为参数

C语言中有指向函数的指针,比如int max(int ,int );int (*da)(int ,int );da=max;int d=da(a,b);----------------------int max(int a,int b){ return (a>b)?a:b;}man函数的声明和定义很简单,需要注意的是函数指针da的申明和初始化:声明:int (*da)(...

2020-04-20 17:34:34 131

原创 线性表的顺序实现(数据元素是字符数组)&&字符数组名和指向它的指针区别详解

数据结构中线性表的顺序实现,这次的数据元素是字符数组,在这个例子中,好好体会了char * 和字符数组名的区别:char *name;那么name是一个字符指针变量,注意它是一个变量,是可以进行四则运算的,它的值是可以改变的。所以:printf("%s",name+20);没有问题。但是如果是 char name[20];那么name是一个地址常量,值是一个字符串的首地址,注意它是常量,是...

2020-04-20 15:22:34 244

原创 线性表的顺序实现(数据元素为int)

数据结构中的线性表的顺序实现,为了简化,数据元素是int:#include<stdio.h>#include<stdlib.h>typedef struct { int *elem; int length; int size;}Sqlist;int main(){ int InitSqlist(Sqlist *); int ListInsert(Sq...

2020-04-20 14:35:48 195

原创 为多个字符数组申请连续的地址空间

利用malloc可以申请连续的一段地址空间,返回值是这段地址空间的首地址。那么如何来申请一块连续的地址空间来存放多个字符数组呢int main(){ Status InitFamily(char *,char [],char [],char []); //struct family *p; char *t,a[20]; t=(char *)malloc(3*sizeof(a)); ...

2020-04-18 17:21:20 608

原创 C语言指针函数和动态内存管理

int main(){ void fuzhi(int *,int); int *t,k; //t=(int *)malloc(3*sizeof(int)); scanf("%d",&k); fuzhi(t,k); printf("%d\t%d\t%d\n",*t,*(t+1),*(t+2)); return 0;}void fuzhi(int *t,int k){ t...

2020-04-18 15:35:08 139

原创 C语言中字符数组越界会怎样?

我们都知道C语言中的数组是不允许动态调整程度的,所有的数组都必须在声明的时候就指定它的长度,比如:char str[];就会报错: [Error] storage size of ‘str’ isn’t known提示我数组的大小是未知的。事情是这样发生的,那是风和日丽的上午,我在家写代码,涉及到了C语言文件系统的内容,我用了一个 fgets()函数,熟悉C语言的盆友都知道,这是一个从指定的...

2020-04-14 17:39:27 4284 3

原创 JAVAWEB学习日志---巨坑!:Tomcat9的安装和在Eclipse上的配置,WIN10系统必成功超详细攻略

**JAVAWEB学习日志—巨坑!:Tomcat9的安装和在Eclipse上的配置,WIN10系统必成功超详细攻略**----by:koko大魔王关于Tomcat和Eclipse版本:我使用的教材写的比较早所以使用的Tomcat是v6.x,推荐使用的IDE是MyEclipse,然而现在Tomcat官网早就更新到v9.x了,v6的版本已近过时而且下载连接都找不到了,我推荐使用Tomcatv...

2020-02-11 14:31:51 603 1

原创 JAVA学习日志-并发(CONCURRENT)

JAVA学习日志-并发(CONCURRENT)java中的并发指的是区别于普通的线性地完成所有任务,而是使用并发地多线程地进行,各个任务之间不会通常情况下不会互相制约,没有依赖关系的时候,也不会相互等待。利用测试代码证明:一下这段代码不使用并发:import java.util.concurrent.* ;class Task implements Runnable { private...

2020-02-07 23:33:50 161

原创 JAVA学习日志:cmd里文件读出中文乱码

JAVA学习日志:cmd里文件读出中文乱码我碰到一个乱码问题,废话不多说,先上代码:public class MainClass { public static List<String> read(String filename) throws IOException { BufferedReader in = new BufferedReader(new FileReade...

2020-02-04 19:59:49 643

原创 JAVA学习日志--在toString方法中打印地址

JAVA学习日志–在toString方法中打印地址在我们创建某个类的时候,我们也许希望他的toString方法能够打印出该对象的存储地址,我们也许会想到在return语句中添加this来显示地址,然而这种似乎合乎情理的方法却是错误的:class cup { @Override public String toString() { return "address : " + this + ...

2020-01-24 14:23:10 970 1

原创 java学习日志--java中String对象与StringBuilder

java中的String对象是只能被读的,当你尝试使用s+= s1 ;时,总是会自动的创造一个StringBuilder对象,并且自动地调用append方法,来实现字符串的拼接 ,当然我们也可以手动地添加一个StringBuiler对象,那么这两种不同的方法有什么区别呢,看代码:public class StringBuilderTest { public static String impl...

2020-01-24 10:32:51 126

原创 java中面对构造器异常时常采取的策略

创建一个对象异常和一个对象的方法运行时发生异常是完全不同的,因为方法错误而对面本生创建时没有异常,在出错处理时必须清除该对象,而对象创建异常,由于对象没有被创建出来,或是没有被完全创建出来,所以通常情况下是不需要清楚对象本身的语句的。通常采取的应对策略是使用以下的try嵌套结构:public class MainClass { public static void main(String[] ...

2020-01-14 08:12:42 272

原创 关于java中的异常限制

java中的异常限制:什么是异常限制:继承类的方法只能抛出基类方法异常抛出说明里面的异常;也就是说,子类可能会抛出的异常必定是已知的,对于一般的方法,必须遵守异常限制, 但是对于构造器来说,异常限制并不起作用,对于构造器,子类的构造器可以throws多余子类的异常种类,但是不能少于子类,比如:class BaseClass {BaseClass() throws ExceptionA {}...

2020-01-13 21:48:02 146

原创 java中基类和接口方法同名时会怎样?

在子类的继承关系中,会存在父类和接口有同名方法的情况,这种情况该怎么处理呢?实验验证:interface MyInterface { void test() ;}class BaseClass {void test() {print("hello") ;}public class InheritClass extends BaseClass implements MyInterf...

2020-01-13 19:05:45 561

空空如也

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

TA关注的人

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