
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
串的定义串(string)是零个或多个字符组成的有限序列。一般记为:S="a1a2…an"(n≥0)其中S是串的名字,用双引号括起来的字符序列是串的值,但双引号是界限符,它不属于串,其作用是避免与变量名或常量混淆。ai(1≤i≤n)称为串的元素,它可以是任意字母、数字或其他字符,是构成串的基本单位,i是它在整个串中的序号。n是串中字符的个数,称为串的长度,表示串中所包含的字符个数。例如串S1="a
模板方法模式(`Template Method Pattern`)是一种**行为型设计模式**,核心思想是**定义一个算法的骨架,将某些步骤的实现延迟到子类。子类可以在不改变算法整体结构的情况下,重新定义算法中的某些特定步骤**。

享元模式(Flyweight Pattern)是一种**结构型设计模式**,核心思想是**通过共享相同对象来减少内存占用**。

中介者模式(`Mediator Pattern`)是一种**行为型设计模式**,核心思想是**用一个中介对象封装一系列对象之间的交互,使各对象不需要显式地互相引用,从而使其耦合松散,而且可以独立改变它们之间的交互**。

关于顺序串的操作:数据结构顺序串的基本操作(C语言)链串跟链表一样,就是数据域的类型只能是char型,其他都没啥大改动,可以直接看功能实现函数部分代码及详情如下:#include<stdio.h>#include<malloc.h>#include<assert.h>typedef struct LinkString {char data;stru
效果如图:代码及详情如下:(文末总结)#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<malloc.h>#include<stdlib.h>//创建结构体typedef struct Node {int data;//数据域struct Node* next;//指针域}Node;//函数声明vo

本文是GoF设计模式系列的前置篇,介绍了面向对象设计的七大核心原则,重点解析SOLID原则(单一职责、开闭原则、里氏替换、接口隔离、依赖倒置)及其应用场景。通过典型代码对比,展示了违反原则的"面条代码"与遵循原则的优化方案:如将UserService按职责拆分、用策略模式实现支付扩展、通过依赖注入解耦数据库访问等。文章指出这些原则能提升代码的可维护性、扩展性和复用性,但也强调要避免过度设计,合理把

迭代器模式(`Iterator Pattern`)是一种**行为型设计模式**,核心思想是**提供一种统一的方式来顺序访问一个聚合对象中的各个元素,而不暴露该对象的内部表示**。

观察者模式是一种行为设计模式,用于定义对象间的一对多依赖关系。当主题对象状态改变时,所有依赖它的观察者都会自动收到通知并更新。本文以气象监测系统为例,说明传统写法会导致紧密耦合,而观察者模式通过"订阅-通知"机制解耦主题和观察者。 文章详细介绍了观察者模式的四个角色(主题接口、具体主题、观察者接口、具体观察者),并通过UML类图展示了它们的关系。重点讲解了"拉模型"实现方式:主题通知时将自身传给观

有时候我们不能或不想直接访问某个对象。比如对象创建开销很大需要延迟加载,或者需要在访问前做权限检查,或者需要记录访问日志。直接在业务代码中掺杂这些逻辑会让代码臃肿且难以维护。代理模式通过引入一个中间层,将这些控制逻辑从业务代码中分离出来。客户端代码不需要知道它是在和代理交互还是真实对象交互,两者可以透明替换。代理模式本质上是一层"中间人"——为真实对象提供一个替身,在调用前后添加控制逻辑。什么时候








