自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Java泛型详解以及实例说明

学习这篇文章:Java泛型深入理解本文只举例子便于理解。泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被

2021-04-22 22:34:51 1226

转载 JAVA集合框架详解(通俗易懂)

集合:对象的容器,定义了对多个对象进项操作的的常用方法。可实现数组的功能。和数组的区别:数组长度固定,集合长度不固定。数组可以存储基本类型和引用类型,集合只能存储引用类型。位置: java.util.*;Collection体系集合Collection父接口**特点:**代表一组任意类型的对象,无序、无下标、不能重复。方法:boolean add(Object obj) //添加一个对象。boolean addAll(Collection c) //讲一个集合中的所有对象添加到此集

2021-03-21 14:42:02 729

原创 java集合—— ArrayList的介绍与基本用法

1.ArrayList概述简介ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null的存在。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList是支持快速访问、复制、序列化的。知识点该类封装了一个动态再分配的Object[]数组,每一个类对象

2021-03-14 22:18:03 879 1

原创 java集合—— LinkedList(双链表)的理解与用法

LinkedList介绍知识点LinkedList 是以链表实现的,插入、删除时只需要改变前后两个节点指针指向。LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用。LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList 的成员变量只有三个:头节点 first、尾节点 last、容量 sizeLinkedList 实现 List 接口,能对它进行队列操作。Lin

2021-03-13 14:34:41 1695

原创 java容器-Collection和Map的理解

1.JAVA内部的容器类容器:在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,或者就叫做集合,集合就是将若干性质相同或相近的类对象组合在一起而形成的一个整体在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系:在编程的时候,有时候需要集中存放多个数据,可以用数组来保存多个数据,但是数组的长度是不可变的,一旦数组的长度确定了之后就无法再改变,如果要保存可变长度的数据的话,数组肯定是不行的。而且数组也无法保存具有一定关联的数据。为了可以保存上

2021-03-09 22:36:02 198

原创 java接口(interface)的学习

概念接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一

2021-03-06 16:36:10 135 1

原创 如何理解java面向对象?

面向对象是一种对现实世界理解和抽象的方法。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。它将数据和操作数据的方法封装在对象中,从而使对象有了一些功能,也就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想将数据和操作数据的方法交给对象去管理,当我们需要某些功能的时候,只要找到能够实现该功能的对象然后让他去做。java的这个面向对象该怎么去理解?很简单,所有的程序啊,其

2021-03-06 15:57:48 255 2

原创 网上书店系统活动设计

1.系统设计网上书店系统可以分为7个子系统,管理用户子系统,用户管理子系统,图书管理子系统,订购服务子系统,留言管理子系统,订单管理子系统,图书浏览子系统。如图1-1所示。管理用户子系统:主要功能为删除用户,查找用户信息,更新用户信息。图书管理子系统:主要功能为删除图书信息,增加图书信息,更新图书信息,查找图书信息。当图书管理员登录后,可以进行这一系列的操作。留言管理子系统:主要功能为回复用户的留言。管理员登陆后查看留言并回复,删除留言。订单管理子系统:主要功能为确认用户订单是否填写正确,发布

2020-12-22 22:55:40 3460

原创 网上书店系统需求分析说明书

网上书店系统需求分析说明书项目组组长:丘佩茵组员:林其庚、罗猛1. 综述1.1前言传统的书店受时间和空间的限制,导致不能发挥更大的商业价值,所以网上书店已经成为了传统书店必须的经营路线之一。如何更好的对网络书店进行管理已经成为了必不可少的关键部分,而优良的管理离不开优良的管理系统。本管理系统通过学习其他同类型的系统,总结出了更好的设计模式和优化了的系统设计,更加的简洁明了,不仅提供方便了管理人员的操作页面,也提供了方便各年龄层使用的系统提供的界面。系统提供了图书出入库管理功能、客户管理功能、基于

2020-12-19 22:53:16 41264 4

原创 PTA--工作分配问题

设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。输入格式:输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用。输出格式:将计算出的最小总费用输出到屏幕。输入样例:在这里给出一组输入。例如:310 2 32 3 43 4 5输出样例:在这里给出相应的输出。例如:9#include <iostream>using nam

2020-12-10 22:36:50 294

原创 PTA--最佳调度问题

假设有n(n<=20)个任务由k(k<=20)个可并行工作的机器完成。完成任务i需要的时间为ti。 试设计一个算法,对任意给定的整数n和k,以及完成任务i 需要的时间为ti ,i=1~n。计算完成这n个任务的最佳调度,使得完成全部任务的时间最早。输入格式:输入数据的第一行有2 个正整数n和k。第2 行的n个正整数是完成n个任务需要的时间。输出格式:将计算出的完成全部任务的最早时间输出到屏幕。输入样例:在这里给出一组输入。例如:7 32 14 4 16 6 5 3输出样例:在这

2020-12-10 22:34:17 463

原创 PTA--整数拆分

将一个正整数拆分成若干个正整数的和。输入格式:一个正整数n输出格式:若干行,每行一个等式(每个数或者等号间都有一个空格,第一个数前没有空格,最后一个数后面没有空格,数与数之间要求非降序排列)。最后一行给出解的总个数输入样例:在这里给出一组输入。例如:4输出样例:在这里给出相应的输出。例如:4 = 1 + 1 + 1 + 14 = 1 + 1 + 24 = 1 + 34 = 2 + 24#include <iostream>#include <cstring&

2020-12-10 22:31:15 1247

原创 PTA--0-1背包问题

给定n(n<=100)种物品和一个背包。物品i的重量是wi,价值为vi,背包的容量为C(C<=1000)。问:应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有两个选择:装入或不装入。不能将物品i装入多次,也不能只装入部分物品i。输入格式:共有n+1行输入: 第一行为n值和c值,表示n件物品和背包容量c; 接下来的n行,每行有两个数据,分别表示第i(1≤i≤n)件物品的重量和价值。输出格式:输出装入背包中物品的最大总价值。输入样例:

2020-12-10 22:28:25 1495

原创 PTA--看电影

终于到周末了,明明是特别喜欢看电影。他想在一天内尽量多的看到完整的多部电影。 现在他把他喜欢的电影的播放时间表给你,希望你能帮他合理安排。输入格式:输入包含多组测试数据。每组输入的第一行是一个整数n(n<=100),表示明明喜欢的电影的总数。 接下来n行,每行输入两个整数si和ei(1<=i<=n),表示第i个电影的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。 当n=0时,输入结束。输出格式:对于每组输入,输出能完整看到的电影的个数。输入样例:在这里给出一组输入。

2020-12-10 22:24:00 1294

原创 (贪心算法)PTA--最优合并问题

给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。输入格式:第一行有 1 个正整数k,表示有 k个待合并序列。 第二行有 k个正整数,表示 k个待合并序列的长度。输出格式:输出最多比较次数和最少比较次数。输入样例:在这里给出一组输入。例如

2020-12-10 22:20:37 917

原创 (贪心算法)PTA--装箱问题、月饼问题

1.装箱问题输入样例:860 70 80 90 30 40 10 20输出样例:60 170 280 390 430 140 510 120 25#include<stdio.h>int main() { int N,xsum=0; int s[1000],x[1000]; scanf("%d",&N); for(int i=0;i<N;i++) { scanf("%d",&s[i]); x[i]=100; } for

2020-12-10 22:17:39 1282 1

原创 C++实现数据结构-停车场管理

代码:#include<string.h> #include<ctype.h> #include<malloc.h> #include<limits.h> #include<stdio.h> #include<stdlib.h> #include<io.h> #include<math.h> #include<process.h> #include<iost

2020-12-10 21:50:03 901 1

原创 数据结构——删除x-y之间的元素

#include<stdio.h>#include<stdlib.h>#define max 100typedef struct{int a[max];int length;}SqList;int main(){ SqList L; L.length=0; int n,min,ma,k,i; printf("输入链表长度:"); scanf("%d",&n); while(n--) { scanf("%d",&L.a[L.l

2020-11-27 23:23:59 1268

原创 数据结构链表——删除值重复的结点

#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int Elemtype;typedef struct LNode{ Elemtype data; struct LNode *next;}LNode,*Linklist;void Init_Linklist(Linklist *L){ *L=(Linklist)malloc(sizeof(LNode)); assert(

2020-11-27 23:15:51 288

原创 数据结构——多项式相加、相减

多项式相加:#include<stdio.h>#include<stdlib.h>#define LEN sizeof(Poly)typedef struct term{ float xishu; int zhishu; struct term *next;}Poly,*Link;void CreatePolyn(Link *p,int m);void PrintPolyn(Link p);int cmp(Link p1, Link p2);Li

2020-11-27 23:07:50 2417

原创 数据结构——多项式相乘

#include<stdio.h>#include<stdlib.h>#include<math.h> #define LEN sizeof(Poly)typedef struct term{ float coef; int expn; struct term *next;}Poly,*Link;int LocateElem(Link p, Link s, Link &q); void Crea

2020-11-27 22:59:37 2082

原创 数据结构(二叉树查找)——二叉排序树的构造和查找、插入、删除

设计一个读入一串整数,然后构造二叉排序树,进行查找、插入、删除。#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define ENDKEY 0typedef int KeyType;typedef struct node{ KeyType key ; /*关键字的值*/ struct node *lchild,*rchild;/*左右指针*/}BSTNode, *BS

2020-11-27 22:49:52 3298 2

原创 数据结构(二叉树)——二叉树的建立、存储、遍历

建立二叉树,并通过调用函数,,输出先序遍历、中序遍历与后序遍历的结果#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0//DataType 是二叉树数据元素类型,此程序定义为char型typedef char DataType;typedef struct Node{ Data

2020-11-27 22:40:24 845

原创 数据结构(栈与队列)——栈的顺序表示和实现、队列的链式表示和实现

实验内容:编写一个程序实现顺序栈的各种基本运算。实现队列的链式表示和实现。实验步骤:1.初始化顺序栈插入元素删除栈顶元素取栈顶元素遍历顺序栈置空顺序栈初始化并建立链队列入链队列出链队列遍历链队列1、栈的顺序表示和实现#include <stdio.h>#include <stdlib.h>#include <conio.h>#define TRUE 1#define FALSE 0#define OK

2020-11-27 22:32:45 2401 1

原创 算法分析与设计(实验二)枚举与递推

一、实验目的:理解枚举法的思想及程序的执行过程;理解递推算法的思想;能较熟练地编写枚举、递推程序,对给定的问题能设计出相应算法予以解决。二、实验环境:Visual C++三、实验内容:1.由0到4五个数字,组成5位数,每个数字用一次,但十位和百位不能为3(当然万位不能为0),输出所有可能的五位数。#include<stdio.h>int main(){int a,b,c,d,e;int k=0;for(a=1;a<=4;a++){ for(b=0;b<=4;

2020-11-21 13:42:48 1103

原创 递归-PTA递归实现逆序输出整数 (20分)

本题目要求读入1个正整数n,然后编写递归函数reverse(int n)实现将该正整数逆序输出。输入格式:输入在一行中给出1个正整数n。输出格式:对每一组输入,在一行中输出n的逆序数。输入样例:12345输出样例:54321# include<stdio.h>int reverse(int n);int main(){ int n; scanf("%d",&n); reverse(n); printf("\n"); return 0;}int

2020-11-21 13:26:04 3835

原创 递归-PTA二分查找

输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。输入格式:输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。输出格式:输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。输入样例:41 2 3 41输出样例:02#include<stdio.h>int main(){int n,x;int a[10

2020-11-21 13:25:43 1202

原创 递归-PTA改写二分搜索算法

题目来源:《计算机算法设计与分析》,王晓东设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。输入格式:输入有两行:第一行是n值和x值; 第二行是n个不相同的整数组成的非降序序列,每个整数之间以空格分隔。输出格式:输出小于x的最大元素的最大下标i和大于x的最小元素的最小下标j。当搜索元素在数组中时,i和j相同。 提示:若x小于全部数值,则输出:-1 0 若x大于全

2020-11-21 13:24:59 756

原创 递归-PTA循环日程表

设有N个选手进行循环比赛,其中N=2^M,要求每名选手要与其他N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1天,要求每天没有选手轮空。输入格式:输入:M(M<=7)。输出格式:输出:表格形式的比赛安排表。一行各数据间用一个空格隔开。输入样例:3输出样例:在这里给出相应的输出。例如:1 2 3 4 5 6 7 82 1 4 3 6 5 8 73 4 1 2 7 8 5 64 3 2 1 8 7 6 55 6 7 8 1 2 3 46 5 8 7 2 1 4 3

2020-11-21 13:23:59 597 1

原创 递归-PTA分形的递归输出

分形,具有以非整数维形式充填空间的形态特征。通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。一个盒状分形定义如下: 度为1的盒分形为:X度为2的盒分形为:X XXX X依次类推,如果B(n-1)表示n-1度的盒分形,则n度的盒分形递归定义如下:B(n - 1) B(n - 1) B(n - 1)B(n - 1) B(n - 1)请画出度为n的盒分形的图形输入格式:输入一

2020-11-21 13:23:06 983

原创 递归-PTA棋盘覆盖

在一个2^k * 2k(k为正整数,k<=10,length=2k)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格(其坐标为aa,bb,分别代表行坐标号和列坐标号),以及有四种L型骨牌(如下图)。求用若干块这种L型骨牌实现除该特殊点棋盘的全覆盖。(本题要求采用分治算法做)输入格式:输入三个数,分别是aa,bb,length.输出格式:输出整个棋盘。其中特殊方格填为0,然后铺棋盘的顺序为:先铺四个子棋盘交界的部分,然后递归的对每个子棋盘按照左上,右上,右下,左下的顺时针顺

2020-11-21 13:21:44 1443 1

原创 PTA换硬币(枚举)

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。输入样例:13输出样例:fen5:2, fen2:1, fen1:1, total:4fen5:1, f

2020-11-20 10:15:19 3164

原创 PTA梅森数

形如2^n −1的素数称为梅森数(Mersenne Number)。例如都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2^31​​ −1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2^​n−1的梅森数。输入格式:输入在一行中给出正整数n(n<20)。输出格式:按从小到大的顺序输出所有不超过2​n​​ −1的梅森数,每行一个。如果完全没有,则输出“None”。输入样例:6输

2020-11-20 10:12:44 1014

原创 PTA-输出全排列(枚举)

输入整数n(3<=n<=7),编写程序输出1,2,…,n整数的全排列,按字典序输出。输入格式:一行输入正整数n。输出格式:按字典序输出1到n的全排列。每种排列占一行,数字间无空格。输入样例:在这里给出一组输入。例如:3输出样例:在这里给出相应的输出。例如:123132213231312321实现:#include<iostream>#include<algorithm>using namespace std;int main()

2020-11-20 10:05:00 1283

原创 百鸡问题扩展-N鸡问题(枚举)

N元钱买N只鸡,公鸡每只5元,母鸡每只3元,小鸡1元3只,N元钱必须刚好买N只鸡,而且鸡必须整只买,不能劈开买。有几种买法呢?这就是N鸡问题。输入格式:在一行中输入一个正整数N。(N<500)输出格式:在一行中输出两个整数c s,中间用一个空格隔开,表示N元钱买N只鸡共有 c 种买法,且所有买法的公鸡数量之和是 s。如果无解,则 s 为 -1.输入样例1:100输出样例1:4 24输入样例2:1输出样例2:0 -1实现:#include<stdio.h>i

2020-11-20 10:03:00 2284 1

原创 C语言实现PTA穷举问题-搬砖(枚举法)

某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法?输入格式:输入在一行中给出一个正整数n。输出格式:输出在每一行显示一种方案,按照"men = cnt_m, women = cnt_w, child = cnt_c"的格式,输出男人的数量cnt_m,女人的数量cnt_w,小孩的数量cnt_c。请注意,等号的两侧各有一个空格,逗号的后面也有一个空格。如果找不到符合条件的方案,则输出"None"输入样例:45输出样例:men =

2020-11-20 09:56:30 5978

原创 C++实现PTA题目--求前缀表达式的值

算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、/以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式:输出前缀表达式的运算结果,保留小数点后1位,或错误信息ERROR。输入样例:2 * 3 - 7 4 / 8 4输出样例:13.0

2020-11-20 09:52:57 1198

原创 C++实现PTA题目--排序

给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105个基本有序的整数;数据9:105个随机正整数,每个数字不超过1000。输入格式:输入第一行给出正整数N(≤10​5​​ ),随后一行给出

2020-11-20 09:43:55 547

原创 C语言实现PTA题目--跳一跳

微信小程序中的跳一跳相信大家都玩过。emmm???只学习不玩游戏?那就吃亏了…好好读题理解吧。   简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。   如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。   现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。

2020-11-20 09:38:16 701

原创 C++实现PTA题目--利用STL比较数据大小并排序

本题目要求读入n个整数(输入数字个数根据输入时随机确定,以输入一个非数字的值作为输入结束标志),利用STL比较数据大小并排序(由小到大升序),然后输出排序后的数据。输入格式:输入在一行中依次输入整数值,每个数字之间用空格分隔,输入数字个数根据输入时随机确定,以输入一个非数字的值作为输入结束标志。输出格式:先输出一段提示“从标准设备读入数据,直到输入是非整型数据为止”,在输入一组数字后,输出排序后的数字,在一行中由小到大依次输出所有值,数字之间用空格分隔。输入样例:10 3 -2 8 20 -9

2020-11-20 09:34:21 1491 1

空空如也

空空如也

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

TA关注的人

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