Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
programiz-zh
提交
b143235f
P
programiz-zh
项目概览
OpenDocCN
/
programiz-zh
8 个月 前同步成功
通知
0
Star
48
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
programiz-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b143235f
编写于
7月 11, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-07-11 11:59:56
上级
720aaefc
变更
15
显示空白变更内容
内联
并排
Showing
15 changed file
with
21 addition
and
21 deletion
+21
-21
docs/dsal/22.md
docs/dsal/22.md
+1
-1
docs/dsal/56.md
docs/dsal/56.md
+5
-5
docs/dsal/61.md
docs/dsal/61.md
+1
-1
docs/py/17.md
docs/py/17.md
+1
-1
docs/py/19.md
docs/py/19.md
+1
-1
docs/py/20.md
docs/py/20.md
+1
-1
docs/py/9.md
docs/py/9.md
+1
-1
docs/swift/24.md
docs/swift/24.md
+1
-1
docs/swift/26.md
docs/swift/26.md
+1
-1
docs/swift/28.md
docs/swift/28.md
+1
-1
docs/swift/32.md
docs/swift/32.md
+1
-1
docs/swift/35.md
docs/swift/35.md
+3
-3
docs/swift/37.md
docs/swift/37.md
+1
-1
docs/swift/38.md
docs/swift/38.md
+1
-1
docs/swift/8.md
docs/swift/8.md
+1
-1
未找到文件。
docs/dsal/22.md
浏览文件 @
b143235f
...
...
@@ -12,7 +12,7 @@
在减小键操作中,键的值被减小到较低的值。
以下
功能用于减小按
键。
以下
函数用于减小
键。
### 减小键
...
...
docs/dsal/56.md
浏览文件 @
b143235f
...
...
@@ -35,7 +35,7 @@
归并排序函数将数组重复分成两半,直到我们达到对大小为 1 的子数组(即
`p == r`
)执行归并排序的阶段。
之后,合并
功能
开始起作用,并将排序后的数组合并为更大的数组,直到合并整个数组。
之后,合并
函数
开始起作用,并将排序后的数组合并为更大的数组,直到合并整个数组。
```
MergeSort(A, p, r):
...
...
@@ -49,7 +49,7 @@ MergeSort(A, p, r):
要对整个数组进行排序,我们需要调用
`MergeSort(A, 0, length(A)-1)`
。
如下图所示,归并排序算法将数组递归地分成两半,直到我们得到具有 1 个元素的数组的基本情况。 之后,合并
功能
将拾取排序后的子数组并将其合并以逐渐对整个数组进行排序。
如下图所示,归并排序算法将数组递归地分成两半,直到我们得到具有 1 个元素的数组的基本情况。 之后,合并
函数
将拾取排序后的子数组并将其合并以逐渐对整个数组进行排序。
![
merge sort algorithm visualization
](
img/b260d5acdfeb1a0b67e39a34777a1ab5.png
"Merge sort in action"
)
...
...
@@ -85,13 +85,13 @@ Have we reached the end of any of the arrays?
## 编写合并算法代码
我们上面描述的合并步骤和用于归并排序的步骤之间的明显区别是,我们仅对连续的子数组执行合并
功能
。
我们上面描述的合并步骤和用于归并排序的步骤之间的明显区别是,我们仅对连续的子数组执行合并
函数
。
这就是为什么我们只需要数组,第一个位置,第一个子数组的最后一个索引(我们可以计算第二个子数组的第一个索引)和第二个子数组的最后一个索引的原因。
我们的任务是合并两个子数组
`A[p..q]`
和
`A[q + 1..r]`
,以创建排序数组
`A[p..r]`
。 因此,函数的输入为
`A`
,
`p`
,
`q`
和
`r`
合并
功能
的工作方式如下:
合并
函数
的工作方式如下:
1.
创建子数组
`L ← A[p..q]`
和
`M←A[q + 1..r]`
的副本。
2.
创建三个指针
`i`
,
`j`
和
`k`
...
...
@@ -271,7 +271,7 @@ void merge(int arr[], int p, int q, int r) {
如果
`M`
的大小大于
`L`
,则需要此步骤。
在合并
功能
的末尾,对子数组
`A[p..r]`
进行排序。
在合并
函数
的末尾,对子数组
`A[p..r]`
进行排序。
* * *
...
...
docs/dsal/61.md
浏览文件 @
b143235f
...
...
@@ -157,7 +157,7 @@ void heapify(int arr[], int n, int i) {
}
```
此
功能
适用于基本情况和任何大小的树。 因此,只要子树是最大堆,我们就可以将根元素移动到正确的位置,以保持任何树大小的最大堆状态。
此
函数
适用于基本情况和任何大小的树。 因此,只要子树是最大堆,我们就可以将根元素移动到正确的位置,以保持任何树大小的最大堆状态。
* * *
...
...
docs/py/17.md
浏览文件 @
b143235f
...
...
@@ -2,7 +2,7 @@
> 原文: [https://www.programiz.com/python-programming/pass-statement](https://www.programiz.com/python-programming/pass-statement)
#### 在本文中,您将学习`pass`语句。 它用作占位符,用于将来实现
功能
,循环等。
#### 在本文中,您将学习`pass`语句。 它用作占位符,用于将来实现
函数
,循环等。
## 什么是 Python 中的`pass`语句?
...
...
docs/py/19.md
浏览文件 @
b143235f
...
...
@@ -193,4 +193,4 @@ Value outside function: 20
基本上,我们可以将函数分为以下两种类型:
1.
[
内置函数
](
/python-programming/built-in-function
)
-Python 内置的函数。
2.
[
用户定义的功能
](
/python-programming/user-defined-function
)
-用户自己定义的功能。
\ No newline at end of file
2.
[
用户定义的函数
](
/python-programming/user-defined-function
)
-用户自己定义的函数。
\ No newline at end of file
docs/py/20.md
浏览文件 @
b143235f
...
...
@@ -78,7 +78,7 @@ Hello Kate, Good morning!
Hello
Bruce
,
How
do
you
do
?
```
在此
功能
中,参数
`name`
没有默认值,并且在通话期间是必需的(强制性的)。
在此
函数
中,参数
`name`
没有默认值,并且在通话期间是必需的(强制性的)。
另一方面,参数
`msg`
的默认值为
`"Good morning!"`
。 因此,在通话期间它是可选的。 如果提供了一个值,它将覆盖默认值。
...
...
docs/py/9.md
浏览文件 @
b143235f
...
...
@@ -6,7 +6,7 @@
Python 提供了许多
[
内置函数
](
https://www.programiz.com/python-programming/built-in-function
)
,这些函数可以在 Python 提示符下随时使用。
`input()`
和
`print()`
之类的某些
功能
分别广泛用于标准输入和输出操作。 让我们首先看一下输出部分。
`input()`
和
`print()`
之类的某些
函数
分别广泛用于标准输入和输出操作。 让我们首先看一下输出部分。
* * *
...
...
docs/swift/24.md
浏览文件 @
b143235f
...
...
@@ -184,4 +184,4 @@ Name is nil or an empty string. Cannot process
在我们的例子中,第一个条件
`let temp = name`
解开了一个可选参数,该可选参数返回
`true`
,第二个条件
`temp.count > 0`
检查了已解包的字符串是否包含超过 0 个字符,在我们的示例中,结果为
`false`
。
因此,
`guard`
语句内部的语句执行语句
`print("Name is nil or an empty string. Cannot process")`
,该语句输出
`Name is nil or an empty string. Cannot process`
并使用
`return`
语句终止功能。
\ No newline at end of file
因此,
`guard`
语句内部的语句执行语句
`print("Name is nil or an empty string. Cannot process")`
,该语句输出
`Name is nil or an empty string. Cannot process`
并使用
`return`
语句终止函数。
\ No newline at end of file
docs/swift/26.md
浏览文件 @
b143235f
...
...
@@ -318,7 +318,7 @@ removed value is bc
[
"ab"
,
"cd"
,
"de"
]
```
同样,您还可以使用
`removeFirst`
删除数组的第一个元素,
`removeLast`
删除数组的最后一个元素和
`removeAll`
清空数组
的功能
。
同样,您还可以使用
`removeFirst`
删除数组的第一个元素,
`removeLast`
删除数组的最后一个元素和
`removeAll`
清空数组。
* * *
...
...
docs/swift/28.md
浏览文件 @
b143235f
...
...
@@ -180,7 +180,7 @@ print(someDictionary)
* * *
## 一些有用的内置字典
功能
&属性
## 一些有用的内置字典
函数
&属性
### 1\. `isEmpty`
...
...
docs/swift/32.md
浏览文件 @
b143235f
...
...
@@ -83,7 +83,7 @@ print(result)
在上面的程序中
*
外部函数为
`operate()`
,返回值类型为
`Function(Int,Int) -> Int`
。
*
内部(嵌套)
功能
为
`add()`
和
`subtract()`
。
*
内部(嵌套)
函数
为
`add()`
和
`subtract()`
。
嵌套函数
`add()`
和
`subtract()`
在封装函数
`operate()`
之外正在使用。 这是可能的,因为外部函数返回这些函数之一。
...
...
docs/swift/35.md
浏览文件 @
b143235f
...
...
@@ -8,7 +8,7 @@
## 为什么需要函数重载?
想象您正在开发一个射击游戏,玩家可以使用刀,刃和枪来攻击敌人。 针对攻击
功能的解决方案可能是将操作定义为以下功能
:
想象您正在开发一个射击游戏,玩家可以使用刀,刃和枪来攻击敌人。 针对攻击
函数的解决方案可能是将操作定义为以下函数
:
```
swift
func
attack
()
{
...
...
@@ -27,7 +27,7 @@ func attack() {
}
```
但是,当您尝试运行上述程序时,由于先前在中声明了
`attack()`
而在 Swift 中会出现编译时错误。 但是,另一种解决方案可能是为特定功能定义不同的
功能
名称,例如:
但是,当您尝试运行上述程序时,由于先前在中声明了
`attack()`
而在 Swift 中会出现编译时错误。 但是,另一种解决方案可能是为特定功能定义不同的
函数
名称,例如:
```
swift
struct
Knife
{
...
...
@@ -59,7 +59,7 @@ func attackUsingGun(weapon:Gun) {
用不同的名称创建函数很耗时,并且增加了记住函数名称以调用它的开销。 总而言之,这不是直观的。
如果可以为每种武器使用相同的名称但实现不同的功能来创建不同的
功能,那就更好了。 这样,记住一个功能名称就足够了,您不必担心其他武器的功能
名称。
如果可以为每种武器使用相同的名称但实现不同的功能来创建不同的
函数,那就更好了。 这样,记住一个函数名称就足够了,您不必担心其他武器的函数
名称。
* * *
...
...
docs/swift/37.md
浏览文件 @
b143235f
...
...
@@ -253,7 +253,7 @@ someClosure: ({
```
我们可以使用自动闭包
功能
将上述程序重写为:
我们可以使用自动闭包
函数
将上述程序重写为:
* * *
...
...
docs/swift/38.md
浏览文件 @
b143235f
...
...
@@ -88,7 +88,7 @@ var students:Students = []
让我们再分析一个例子。 假设我们有一个将闭包作为输入参数的方法。
如果您不了解闭包,请不要担心。 只需将其视为一种特殊的
功能
即可。 我们已经在文章中详细解释了它:
*Swift 闭包*
。
如果您不了解闭包,请不要担心。 只需将其视为一种特殊的
函数
即可。 我们已经在文章中详细解释了它:
*Swift 闭包*
。
```
swift
func
someMethod
(
oncomp
:(
Int
)
->
(
String
)){
...
...
docs/swift/8.md
浏览文件 @
b143235f
...
...
@@ -55,7 +55,7 @@ Hello, World!
123.45
```
您可以通过直接在打印
功能
中添加变量或常量名称来打印变量或常量的值。 在上面的程序中
`print(helloMsg)`
输出变量
`helloMsg`
的值
`Hello, World!`
。
您可以通过直接在打印
函数
中添加变量或常量名称来打印变量或常量的值。 在上面的程序中
`print(helloMsg)`
输出变量
`helloMsg`
的值
`Hello, World!`
。
您也可以在
`print`
语句中插入字面值。 在语句
`print(123.45)`
中,它采用不带双引号的浮点字面值
`123.45`
并将其打印出来。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录