自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (49)
  • 收藏
  • 关注

原创 Netty简要介绍

下面是Netty框架的几个主要特点和组成部分:异步和事件驱动:Netty使用异步的I/O操作和事件驱动模型,这意味着它能够处理大量的并发连接,并且不会阻塞线程。它通过使用少量的线程来处理多个连接,提供了高效的资源利用率。高性能:Netty的核心是使用了高度优化的数据结构和算法,以及零拷贝技术,这使得它能够在网络应用程序中实现非常低的延迟和高吞吐量。它还提供了可定制的线程模型,可以根据应用程序的需求进行配置。

2023-06-22 20:46:04 689

原创 Java中的OIO和NIO详解(含代码)

阻塞 vs 非阻塞:OIO是阻塞I/O模型,每个I/O操作都是阻塞的,即线程在执行I/O操作时会一直等待直到操作完成。NIO是非阻塞I/O模型,它使用Selector来实现非阻塞操作,允许单个线程处理多个通道的I/O事件。多线程 vs 单线程:OIO模型中,每个连接都需要创建一个独立的线程进行处理,当连接数量较多时,线程开销较大。NIO模型中,可以使用单个线程处理多个连接,减少了线程开销。

2023-06-22 20:36:25 1735

原创 Java NIO中Buffer方法详解(含代码示例)

Java NIO(New IO)中的Buffer类是一个抽象类,用于在Java程序中进行数据的读取和写入操作。它提供了一组方法来操作底层数据容器,例如数组或ByteBuffer。下面是对Buffer类中常用方法的详细解释和代码示例。

2023-06-21 09:32:19 829

原创 JAVA NIO创建服务端(含代码详解)

当使用Java NIO(New I/O)创建一个服务端时,你需要使用。这里定义了一个缓冲区大小和一个超时时间,可以根据需要进行调整。配置为非阻塞模式,并绑定到指定的端口(这里使用的是8080)阻塞等待就绪的事件。如果没有任何事件就绪,将继续下一次循环。方法读取数据,并进行相应的处理。在示例中,将读取的数据存储到。这样可以确保在使用完后自动关闭它们。这是服务端的主要事件循环。事件,表示有新的客户端连接请求。集合,并遍历处理每个就绪的事件。事件,表示有数据可读取。中,并打印接收到的消息。

2023-06-21 08:53:55 590

原创 JAVA NIO概念详解

Java NIO(New I/O)是Java平台提供的一组用于高效处理I/O操作的API。相较于传统的Java I/O(java.io)API,Java NIO提供了更加灵活、高效的非阻塞I/O操作方式。主要一些概念如下。

2023-06-20 20:51:28 899

原创 SpringBoot Bean的生命周期

您也可以自定义一个方法作为Bean的初始化方法,并在配置类或XML配置文件中进行配置。@Component// 初始化操作// ...上述示例中,MyBean类中定义了一个名为init的自定义初始化方法。上述示例中,通过@Bean注解的initMethod属性指定了初始化方法的名称。无论选择哪种方式,当Spring Boot实例化Bean后,会根据所选择的方式调用相应的初始化方法。您也可以自定义一个方法作为Bean的销毁方法,并在配置类或XML配置文件中进行配置。@Component。

2023-06-17 22:24:35 1205

原创 SpringBoot常用注解及使用方式(含代码)

用于启动Spring Boot应用程序的主类上,它组合了多个注解(@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan)

2023-06-16 06:30:00 718

原创 Spring依赖注入、控制反转、面向切面编程三大特性详解(含示例代码)

Spring 框架是一个开源的企业级应用程序开发框架,它提供了许多功能和特性,但主要包括以下三大核心特性:依赖注入(Dependency Injection,DI): 依赖注入是 Spring 的核心特性之一。它通过控制反转(Inversion of Control,IOC)实现对象之间的解耦。在传统的编程模型中,对象自己负责创建和管理它所依赖的对象,而在 Spring 中,容器负责创建对象,并将依赖关系注入到对象中。这样可以提高代码的可维护性、可测试性和松耦合性。

2023-06-16 02:00:00 1112

原创 SpringBoot事务详解(含示例代码)

在Spring Boot中,事务是用于管理数据库操作的重要机制。Spring Boot提供了多种方式来处理事务,主要包括编程式事务管理和声明式事务管理。

2023-06-15 11:03:38 1922 1

原创 SpringBoot事物失效场景

方法未被声明为事务:在Spring Boot中,事务是基于注解或XML配置的方式进行声明的。在上述示例中,updateUserStatus方法没有被声明为事务,即使该方法中的数据库更新操作失败,也不会回滚,可能导致数据库中的数据和应用状态不一致。在上述示例中,updateUserStatus方法是私有的,虽然在activateUser方法中调用了它,但事务注解将不会应用于私有方法,导致事务失效。在实际开发中,应注意事务的声明、异常的抛出和方法的可见性,以确保事务的正确应用和回滚。// 受检查异常未被抛出。

2023-06-14 20:14:26 1496 2

原创 DDD—实体和值对象

实体的标识符可以是持久化存储中的数据库主键,也可以是自定义的唯一标识符。值对象(Value Object)是没有唯一标识符的对象,它的相等性是基于其属性的值。在领域驱动设计(Domain-Driven Design,DDD)中,实体(Entity)和值对象(Value Object)是两个重要的概念,用于建模领域中的不同类型的对象。例如,电子商务系统中的商品。在这个系统中,商品被视为值对象,因为它们的相等性是基于其属性的值。实体侧重于对象的唯一标识和标识的不变性,而值对象侧重于对象属性的值和属性的不变性。

2023-06-13 08:42:37 947

原创 万字长文+示例代码详解DDD中常用的架构(含代码示例)

六边形架构的优势在于它的灵活性和可测试性。通过将领域模型与外部系统隔离开来,我们可以独立地测试领域逻辑,并对外部系统进行模拟或替代。此外,六边形架构还支持领域模型的独立演化,使系统更具灵活性和可扩展性。CQRS 的优势在于它能够根据不同的操作类型进行优化,提高系统的性能和可伸缩性。通过将读写操作分离,可以针对不同的操作类型采用不同的数据存储和处理方式。此外,CQRS 还能够帮助实现更好的领域模型设计,使系统更加灵活和可扩展。

2023-06-12 17:12:31 1946 1

原创 DDD战略设计--如何定义领域服务(含示例代码)

在领域驱动设计(Domain-Driven Design,DDD)中,领域服务(Domain Service)是一种表示领域概念和业务逻辑的重要构造。领域服务不属于特定的实体或值对象,而是通过执行一系列操作来实现某个业务目标。它们通常涉及多个领域对象之间的协调和交互,并提供高层次的业务操作。,其中包含了产品的创建、更新、删除和按分类获取产品等业务逻辑。在前几个章节中主要介绍了聚合等操作,本章说一下如何定义领域服务。,声明了一些与产品相关的业务方法。并使用其中的方法来处理产品相关的操作。

2023-06-12 16:29:51 1778

原创 JPA中为什么不建议代码中使用EntityManage

通过使用 Repository 或 DAO(数据访问对象)模式,将与数据库相关的操作封装在单独的类中,可以更好地分离关注点,使代码更加清晰。使用容器管理的事务,例如使用 Spring 的事务管理器,可以更好地处理事务边界,确保事务的一致性和原子性。如果需要更复杂的查询或自定义方法,可能需要使用其他的Repository模式,或自定义Repository接口,并使用@Query注解编写自定义的JPQL或原生SQL查询。这样,在需要更换底层 ORM 框架或数据库时,只需要调整实现,而不需要修改调用方的代码。

2023-06-12 10:20:25 704

原创 JPA关系模型——一对一及一对多关系

在Department实体类中,使用@OneToMany(mappedBy = "department")注解表示与Employee实体类的关系,mappedBy属性指定了关系维护的端,即Employee类中的department属性。在Employee实体类中,使用@ManyToOne注解表示与Department实体类的关系,@JoinColumn注解指定了外键列的名称,这里使用了department_id。通过前面几篇文章的学习,我们了解到了JPA的几种关系模型,并举例说明了一对一的关系模型。

2023-06-11 20:57:36 1170

原创 DDD--聚合和JPA的结合(含示例代码)

聚合的边界:在DDD中,聚合是一组相关的领域对象的集合,其中一个对象作为聚合根(Aggregate Root)来管理其他对象。在使用JPA时,可以使用JPA的实体生命周期回调方法(例如@PrePersist、@PreUpdate、@PreRemove等注解)来处理聚合的生命周期事件。聚合的持久化:使用JPA进行持久化时,可以使用实体管理器(EntityManager)来管理聚合的生命周期。通过使用JPA的实体管理器,可以将聚合的状态从内存中持久化到数据库,并提供CRUD(创建、读取、更新、删除)操作。

2023-06-10 10:59:57 754

原创 DDD战略设计--如何设计聚合(含示例代码)

通过聚合的设计,可以将相关的领域对象组织在一起,并将聚合作为一个整体来进行操作和维护。在聚合内部,User实体作为聚合的根实体,负责处理用户的行为和业务逻辑。在"User"聚合中,User实体是聚合的根实体,它负责维护用户的个人信息。Friendship、Interest和Follower等对象是User实体的子对象,用于管理用户之间的社交关系。聚合的设计可以提高系统的内聚性和可维护性,同时保护聚合内部的一致性和完整性。类表示用户聚合的根实体,包含用户的基本信息以及与好友、兴趣和粉丝相关的操作。

2023-06-10 10:48:44 1444

原创 DDD战略设计--如何识别通用语言

根据上文中我们识别到的限界上下文,我们可以根据自己的理解识别出限界上下文中的一些通用语言

2023-06-10 10:35:33 939

原创 DDD战略设计--如何确定限界上下文

使用领域知识建模的技术,例如事件风暴(Event Storming)、领域建模会话(Domain Modeling Session)等,团队成员和领域专家共同参与,将领域知识可视化为事件、实体、值对象、聚合等概念,从而识别出潜在的限界上下文。:分析业务流程和业务需求,识别出不同的业务边界和业务活动,然后将其映射到相应的限界上下文。每个限界上下文应该有明确的职责和边界,负责特定的业务领域。:考虑技术架构和团队结构的因素,将限界上下文与团队的责任和能力相匹配,以确保团队能够有效地理解和实现相应的上下文。

2023-06-10 10:21:30 995

原创 DDD--战略设计步骤

定义共享内核(Shared Kernel):当多个限界上下文之间存在共享的领域概念和业务规则时,可以创建共享内核来实现代码的重用和协调。关键在于充分理解领域知识,与领域专家密切合作,并采用合适的设计技术和方法来构建高质量的领域模型和系统架构。定义领域服务(Domain Service):根据领域中的复杂业务操作,确定需要设计和实现的领域服务。在领域驱动设计(Domain-Driven Design,DDD)中,战略设计是指在系统的整体层面上考虑领域模型的组织和架构。

2023-06-10 10:16:24 1317

原创 DDD--战略设计和战术设计

战略和战术相互关联,战略指导着系统整体的设计和架构,而战术则负责具体实现和组织单个限界上下文内的领域模型。当不同的限界上下文之间存在共享的领域概念和业务规则时,可以通过共享内核来实现代码的重用和协调。聚合(Aggregate):聚合是一组相关的实体和值对象的集合,它们具有共享的生命周期和边界。值对象(Value Object):值对象是没有唯一标识的领域对象,通常用于表示领域中的属性或组合值。领域服务(Domain Service):领域服务是一种无状态的操作或行为,用于跨实体或聚合执行复杂的领域操作。

2023-06-10 10:15:09 886

原创 DDD--基本概念

(Domain Service):领域服务是一些操作和行为,它们与具体的实体和值对象紧密相关,但不属于任何单个对象。聚合有一个聚合根(Aggregate Root),它是聚合的入口点,负责协调和管理聚合内的对象。(Domain Model):领域模型是对业务领域的抽象和建模,它包含了业务对象、业务规则以及业务流程。领域是开发团队和业务专家共同关注的核心部分,通过建立清晰、可靠的领域模型来深入理解和解决业务问题。(Aggregate Root):聚合根是聚合中的一个实体,它是聚合的入口点和访问点。

2023-06-10 09:49:08 1157

原创 设计好接口的建议

设计好接口的建议

2022-06-15 11:26:53 282 1

原创 Could not commit JPA transaction; nested exception is javax.persistence.RollbackException

检查JPA实体对应的数据库表中的Version字段值是否为空。

2022-05-19 13:57:19 2794

原创 JPA入门

目录JPA概述JPASpring Data JPAJPA注解基础注解EntityTableIdEnumeratedTransientColumnTemporal联合主键注解IdClassEmbeddable和EmbeddedId注解实体之间关联关系注解OneToOneManyToOne和OneToManyRepositoryJPA查询方式DQM(定义查询方法)使用实例DMQ方法名中支持的关键字支持分页和排序.

2022-03-16 14:54:00 17840

原创 C/C++中常遇到的减去‘0’(字符0)的意义

字符‘0’在ASCII中对应的值是48,所以如果字符‘1’减去‘0’的话得出的值就是数字类型的1,其他的可以用来转换大小写或者数字和和字符。

2020-04-24 13:44:32 3619

原创 __attribute__简介

__attribute 其实是个编译器指令,告诉编译器声明的特性,或者让编译器进行更多的错误检查和高级优化。attribute可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__语法格式为:__attribute__ ((attribute-list))...

2020-04-18 09:20:02 1182

原创 Redis显示中文

1.只需要在启动redis-cli时在其后面加上--raw参数即可启动后,再显示就正常了。如果进入之后显示乱码的汉字,只需要修改一下远程工具的编码方式为UTF-8redis-cli -h 127.0.0.1 -p 6379 --raw2. 在linux中使用命令显示单独的字符,若有乱码参照上面的处理方式。echo -e "\xe5\x85\xac"...

2019-11-09 15:08:22 2997

转载 delphi TMemoryStream对象用法

TMemoryStream对象是一个管理动态内存中的数据的Stream对象,它是从TCustomMemoryStream中继承下来的,除了从TCustomMemoryStream中继承的属性和方法外,它还增加和覆盖了一些用于从磁盘文件和其它注台读数据的方法。它还提供了写入、消除内存内容的动态内存管理方法。下面介绍它的这些属性和方法。TMemoryStream的属性和方法1.Ca...

2019-07-11 09:04:14 1611

转载 线程中CreateEvent和SetEvent及WaitForSingleObject的用法

首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,线程锁定方面.1. CreateEvent函功能描述:创建或打开一个命名的或无名的事件对象.EVENT有两种状态:发信号,不发信号。SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。WaitForSingleObject()等待,直到参数所指定的OB...

2019-05-28 16:06:33 492

原创 Delphi笔记

1.释放对象资源Free、Nil和Freeandnil函数在Delphi中一个对象名只是一个指向该对象的指针,可以有多个指针指向同一个对象地址。Nil是将指针置空Free则将指针指向的对象销毁掉Freeandnil释放对象并将指针置为空。...

2019-05-28 15:01:59 149

转载 Delphi TIniFile 用法

一、定义1、在Interface的Uses节增加IniFiles;2、在Var变量定义部分增加一行:myinifile:Tinifile;然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。二、打开INI文件 Filename:=ExtractFilePath(Paramstr(0))+'program.ini'; myinifile:=Ti...

2019-05-28 14:04:39 1273

转载 临界区对象TCriticalSection(Delphi) 与 TRtlCriticalSection 的区别

TRtlCriticalSection 是一个结构体,在windows单元中定义;TCriticalSection是在SyncObjs单元中实现的类,它对上面的那些临界区操作API函数进行了了封装,简化并方便了在Delphi的使用;如TCriticalSection.Enter,就是调用了EnterCriticalSection这个API函数。多线程程序中,如果各个线程要访问同一个资源,如...

2019-05-28 13:40:31 2209

原创 Acclerate C++ 让类对象像一个数值一样(12章)(简单的String)

#include"Vec.h"#include<iterator>class Str{ //输入输出 friend std::istream& operator >> (std::istream&, Str&);public: typedef Vec<char>::size_type size_type; Str() ...

2018-12-27 09:37:16 294

原创 Acclerate C++ 定义抽象数据类型(仿写STL中的Vector)

Vec.h #include<algorithm>#include<memory>template <class T>class Vec{public: typedef T* iterator; typedef const T* const_iterator; typedef size_t size_type; typedef T val...

2018-12-26 15:16:07 419

原创 PL/SQL基础知识总结(根据网络内容整理)

 1. PL/SQL简介   PL/SQL是ORACLE系统的核心语言,现在ORACLE的许多部件都是由PL/SQL写成。在PL/SQL中可以使用的SQL语句有:INSERT,UPDATE,DELETE,SELECT INTO,COMMIT,ROLLBACK,SAVEPOINT。提示:在 PL/SQL中只能用 SQL语句中的 DML 部分,不能用 DDL 部分,如果要在PL/SQL中使用...

2018-12-13 13:34:57 694

原创 计算机算法基础总结(借鉴、整理)

作者:Jerry4me链接:https://www.jianshu.com/p/f6e35db6bc51排序算法算法 最优复杂度 最差复杂度 平均复杂度 稳定性 选择排序 O(n²) O(n²) O(n²) 不稳定 冒泡排序 O(n) O(n²) O(n²) 稳定 插入排序 O(n) O(n...

2018-12-13 13:28:06 3332

转载 crosscheck archivelog all和crosscheck backup of区别(转)

crosscheck archivelog all; 验证的是DB的归档日志即log_archive_dest参数指定位置的文件,当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行。所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常。RMAN> crosscheck archivelog all;释放的通道: ORA_DISK_1...

2018-09-12 19:52:29 1181

原创 C++查找算法总结(可执行代码)

1. 顺序查找 核心:从数据的第一个元素开始,依次比较,直到找到目标数据或查找失败。1.从表中的第一个元素开始,依次与关键字比较。2.若某个元素匹配关键字,则 查找成功。3.若查找到最后一个元素还未匹配关键字,则 查找失败。时间复杂度:顺序查找平均关键字匹配次数为表长的一半,其时间复杂度为O(n)。顺序查找的评估:顺序查找的优点是对表无要求,插入数据可在O(1)内完成。...

2018-09-10 17:27:48 4446 1

原创 C++排序算法总结(可执行代码)

常见的分类算法还可以根据排序方式分为两大类:比较排序和非比较排序。本文中前七种算法都是比较排序,非比较排序有三种,分别为:  1)计数排序(Count Sort)(复杂度O(n+k)(其中k是待排序的n个数字中最大值)  2)基数排序(Bucket Sort)(复杂度O(nk)(其中k是最大数字的位数)       3)桶排序(Radix Sort)(复杂度O(n+k)(其中k...

2018-09-10 17:21:39 7520

一步一步学RMAN完整版.doc

Oracle Database 11g 一步一步学RMAN整理文档,很有价值。

2019-02-21

设计模式精解-GoF-23种设计模式解析--附C++源代码

设计模式精解-GoF-23种设计模式解析--附C++源代码,帮助理解!

2019-02-18

Accerlerated-C++课后习题详解,可运行代码

Accerlerated-C++课后习题详解,可运行代码源代码,结合课本效果更好

2019-02-18

Accelerated C++中文版

本书分为集中于使用标准库抽象的程序以及自定义抽象两部分,Accelerate C++ 中文版是最经典的C++入门书籍

2018-12-26

python抢火车票脚本

python抢火车票脚本,需要配合谷歌浏览器以及ChromDriver使用

2018-12-26

PL/SQL编程基础知识

PL/SQL 编程基础知识详解,PL/SQL 包含过程化语句和SQL语句数据操作和查询语句被包含在PL/SQL代码的程序单元中(PL/SQL块),经过逻辑判断、循环等操作完成复杂的功能或者计算.。

2018-11-30

Oracle数据库备份、恢复与迁移

Oracle数据库备份、恢复与迁移,详细步骤及代码解释。

2018-10-18

程序员面试宝典第五版

程序员见识宝典,PDF清晰版!祝你面试笔试顺利,包含常见的面试技巧及题型!

2018-09-13

C++数据结构排序算法

C++数据结构排序算法总结,包含详细可执行代码以及算法讲解!

2018-09-13

C++数据结构查找算法总结

C++数据结构经典查找算法总结,包含详细可执行代码以及算法讲解!

2018-09-13

Python廖雪峰经典手册

python手册,廖雪峰微博整理,绝对详细,PDF版,从基础到进阶

2018-09-13

RedHat6+oracle 11g详细步骤

在虚拟机下详细安装RedHat+Oracle11g步骤截图,可以按照截图一步步操作,一定成功。

2018-08-31

人事考勤系统

vc++ sql 2005 含数据库 可直接运行

2015-04-14

学生管理系统

vc++ sql 2005 含数据库 可直接运行

2015-04-14

视频聊天系统.

vc++ sql 2005 含数据库 可直接运行

2015-04-14

考试管理系统

vc++ sql 2005 含数据库 可直接运行

2015-04-14

进销存管理系统

vc++ sql 2005 含数据库 可直接运行

2015-04-14

教学自动化系统

vc++ sql 2005 含数据库 可直接运行

2015-04-14

公交自动化系统

vc++ sql 2005 含数据库 可直接运行

2015-04-14

成绩管理系统

vc++ sql 2005 成绩管理系统

2015-04-14

KTV点歌系统

KTV点歌系统 vc sql server 可直接运行 含数据库

2015-04-14

人力资源管理系统论文终结版

人力资源管理系统论文终结版 java web

2015-04-14

图书管理. c++

图书管理. c++ SQL2005 可直接运行 含数据库

2015-04-14

飞机飞行游戏

飞机飞行游戏 可直接运行 vc++ SQL

2015-04-14

俄罗斯方块

俄罗斯方块 vc++6.0 SQLserver2005 含数据库 可直接运行

2015-04-14

成绩管理

成绩管理 VC SQL 包含数据库 可直接运行

2015-04-14

企业人力资源管理系统

java web 人力资源管理系统源代码 ssh模式 代码可以直接运行 包含数据库

2015-04-14

公路收费系统

公路收费系统 c++ SQLserver 2005 vc++6.0 可以直接运行 包含数据库

2015-04-14

考勤管理系统源代码下载

考勤管理系统源代码 包含数据库 可以直接运行 vc++6.0 数据库SqlServer2005

2015-04-14

酒店餐饮管理系统

酒店餐饮管理系统 基于vc++6.0 SQL server2005 包含数据库 可以直接运行

2015-04-14

mysql-connector-java

mysql-connector-java

2015-04-14

VC+SQL人事管理系统

VC+SQL人事管理系统 SQL server 2005 vc++6.0

2015-04-14

校园MentoHUST

MentoHUST 支持多网卡 WiFi

2015-04-14

人事信息管理系统

人事信息管理系统

2015-04-14

数据结构 排序综合

数据结构 排序 利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。 (1)至少采用三种方法(希尔排序、快速排序、堆排序)实现上述问题求解; (2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法; (3)统计每种算法所用的比较次数和交换次数,最后列表显示;

2013-06-13

数据结构 教学计划编制

问题描述: 大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。在这样的前提下设计一个教学计划编制程序。

2013-06-13

数据结构 迷宫

问题描述: 以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有 通路的结论。 3.算法思想和算法设计 若当前位置可通,则纳入当前路径,并继续朝下一个位置探索,即切换下一位置为当前位置,如此重复直至到达出口;若当前位置不可通,则应顺着来向退回到前一通道块,然后朝着除来向之外的其他方向继续探索;若该通道块的四周4个方块均不可通,则应从当前路径上删除该通道块。设以栈记录当前路径,则栈顶中存放的是当前路径上最后一个通道块。由此,纳入路径的操作即为当前位置入栈;从当前路径上删除前一通道块的才操作即为出栈。 设顶当前位置的

2013-06-13

数据结构 图的应用

用克鲁斯卡尔算法求网的最小生成树并输出各条边。 [问题描述] 若要在n个城市之间建设通信网络,只需要假设n-1条线路即可。如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题

2013-06-13

图的基本操作 数据结构

图的基本操作 以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列。

2013-06-13

查找、排序的应用

[基本要求] 设计一个学生信息管理系统,学生对象至少要包含:学号、姓名、性别、成绩1、成绩2、总成绩等信息。要求实现以下功能: 1.总成绩要求自动计算; 2.查询:分别给定学生学号、姓名、性别,能够查找到学生的基本信息(要求至少用两种查找算法实现); 3. 排序:分别按学生的学号、成绩1、成绩2、总成绩进行排序(要求至少用两种排序算法实现)。

2013-06-13

空空如也

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

TA关注的人

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