From 067e2e65cd1700f9e4830808250e3b4fec9463e0 Mon Sep 17 00:00:00 2001 From: Hara602 Date: Thu, 10 Apr 2025 16:29:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=9C=A8=E6=B3=9B=E5=9E=8B=E8=BF=99?= =?UTF-8?q?=E4=B8=80=E8=8A=82=E4=B8=AD=EF=BC=8C=E5=A0=86=E7=9A=84=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E9=87=8C=E9=9D=A2=E7=BC=BA=E5=B0=91NewHeap=E5=87=BD?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E8=A1=A5=E5=85=85=E4=BA=86NewHeap=E5=87=BD?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/essential/senior/90.generic.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/essential/senior/90.generic.md b/src/essential/senior/90.generic.md index dc59a452..26578a14 100644 --- a/src/essential/senior/90.generic.md +++ b/src/essential/senior/90.generic.md @@ -1,7 +1,6 @@ --- date: 2022-08-26 --- - # 泛型 泛型,或者更学术化的名称 —— 参数化多态(Parameterized @@ -250,10 +249,6 @@ func Assert[T any](v any) (bool, T) { } ``` - - - - ## 类型集 在 1.18 以后,接口的定义变为了类型集 `(type set)`,含有类型集的接口又称为 `General interfaces` 即通用接口。 @@ -724,6 +719,14 @@ func (heap *BinaryHeap[T]) down(i int) { func (heap *BinaryHeap[T]) Size() int { return len(heap.s) } + +func NewHeap[T any](n int, c Comparator[T]) BinaryHeap[T] { + var heap BinaryHeap[T] + heap.s = make([]T, 0, n) + heap.Comparator = c + return heap +} + ``` 使用起来如下 From 8d174763089a207a4de438e36228b6bef9237a6f Mon Sep 17 00:00:00 2001 From: Hara602 Date: Thu, 10 Apr 2025 16:39:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e5a56f1..81a10449 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ 这是一个简单纯粹且完全开源的 Golang 中文学习文档,网站内容是作者在学习过程中的记录,每一篇文章的更新都是新的积累,主要包括 go 语言基础方面的东西,适合入门玩家浏览。 -由于作者水平十分有限,如果在文中有发现任何纰漏或者想自己发布文章,欢迎提交 issue 和 PR,有时间看到了会尽快审理。 +由于作者水平十分有限,如果在文中有发现任何纰漏或者想自己发布文章,欢迎提交 issue 和 PR,有时间看到了会尽快审理。chr ## 开发