- 博客(13)
- 收藏
- 关注
原创 Java接口
1.定义在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。2.定义接口时格式特点:接口中常见定义:常量、抽象方法常量:public static final抽象方法:public abstract3.接口的声明语法格式[可见度] interface 接口名称 [extends 其他的类名] { public sta...
2018-08-29 16:53:17 404
原创 抽象类与抽象方法
文章目录前言一、对抽象类的理解1.抽象类的由来2.抽象类和一般类的区别二、abstract关键字的使用1.abstract修饰类2.abstract修饰方法三、抽象类与接口的区别前言随着继承层次中一个个新子类的定义,类变得越来越具体,而父类相较于子类显得更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。一、对抽象类的理解以生活中的公司为例,刚开始创业的时候人很少,很多时候还需要老大亲力亲为,后来随着公司发展,公司人越
2018-08-27 20:55:29 183
原创 堆的基本操作
1.堆的概念如果有一个关键码的集合K={k0,k1,k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki<=K2*i+1 且 Ki<=K2*i+2,称为小堆Ki>=K2*i+1 且 Ki>=K2*i+2,称为大堆 (i=0,1,2…)本质上来说,堆就是一个满足上面两个条件的完全二叉树。2.性质如果i=...
2018-08-24 21:10:20 251
原创 共享栈
1.静态共享栈2.奇偶共享栈SharedStack.h#pragma once#include"Stack.h"//静态共享栈#define MaxSize 100typedef struct SharedStack{ DataType data[MaxSize];/*数组长度*/ int top1;/*栈顶1*/ int top2;/*栈...
2018-08-21 15:21:28 819
原创 使用两个队列实现一个栈
StackByTwoQueue.h#pragma once#include "Queue.h"#include "Stack.h"// 两个队列实现一个栈typedef struct StackByTwoQueue{ Queue q1; Queue q2;}StackByTwoQueue;void StackByTwoQueueInit(StackB...
2018-08-21 15:01:08 151
原创 使用两个栈实现一个队列
s1入栈s1出栈后再如s2s2出栈QueueByTwoStack.h#pragma once#include "Queue.h"#include "Stack.h"// 两个栈实现一个队列typedef struct QueueByTwoStack{ Stack s1; Stack s2;}QueueByTwoStack;void Qu...
2018-08-17 18:10:02 101
原创 实现一个栈,要求实现Push(入栈)、Pop(出栈)、Min(返回最小值)的时间复杂度为O(1)
st入栈如果minst为空,则入栈minst;如果minst非空,或者minst的栈顶元素大于等于下一个入栈元素,minst也入栈该元素如果st与minst站定元素相等,则出栈minst;无论怎样,st每次都需要出栈MinStack.h#pragma once#include"Stack.h"typedef struct MinStack{ Stack st...
2018-08-17 17:55:31 313
原创 链队列的基本操作
Queue.h#pragma once#include <stdio.h>#include <malloc.h>#include <assert.h>#define TRUE 1#define FALSE 0typedef int DataType;/*用链表表示的队列简称为链队列,为了操作方便,采用带头结点的链表结构,并设置一...
2018-08-15 20:43:02 12352
原创 顺序栈的基本操作
Stack.h#pragma once#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<assert.h>#define STACK_INIT_SIZE 100//存储空间初始分配量#define STACKINCREMENT 10//存储空间分配增量...
2018-08-15 20:26:52 321
原创 C语言实现顺序表的基本操作
1.定义线性表的顺序存储是指在内存中用一组地址连续的存储单元依次存储线性表的各元素,用这种存储形式存储的线性表称为顺序表。也就是说,顺序表以数据元素在计算机内的物理位置相邻来表示数据元素在线性表中的逻辑相邻关系。2.线性表的顺序存储示意图...
2018-08-06 15:08:07 3167
原创 final关键字
特点可以修饰类、函数、变量。被final修饰的类不可以被继承。为了避免被继承,被子类覆写功能。 被final修饰的方法不可以被覆写。被final修饰的变量时一个常量,只能赋值一次;既可以修饰成员变量,也可以修饰局部变量。当在描述事物时,一些数据的出现值时固定的,那么为了增强阅读性,都给这些值起个名字,方便与阅读 。而这个值不需要修改,所以加上final修饰。内部类定义在类中的局部位置...
2018-08-04 13:05:31 187
原创 指令练习题
1.如何通过命令重启linux操作系统?reboot2.如何在命令行中快速删除光标前/后的内容?前:ctrl+u后:ctrl+k3.如何删除/tmp下所有A开头的文件?rm -f /tmp/A*4.系统重要文件需要备份,如何把/etc/passwd备份到/tmp目录下?cp /etc/passwd /tmp5.如何查看系统中最后创建的3个用户?...
2018-08-02 14:22:07 1421
原创 内存分析详解——程序执行的内存变化过程
class Person{ private String name; private int age; private static String contry = "cn"; Person(String name,int age){ this.name = name; this.age = age; } public...
2018-08-01 12:13:00 709
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人