D語言中的algorithm過一遍

2022-09-12 03:00:15 字數 1469 閱讀 8862

參考

在std.algorithm中提供了大量操作range的函式。一共分為六大類。

一、searching  搜尋

1) all  判斷函式,是否集合中所有元素是否都符合條件

auto arr = [1, 3, 5, 7, 9];

auto ret1 = arr.all!(f=> f != 2);

auto ret2 = arr.all!"a!=2"();

writeln(ret1);

writeln(ret2);

//輸出

//true

//true

2) any   判斷函式,是否存在任意乙個元素符合條件

auto arr = [1, 3, 5, 7, 9];

auto ret1 = arr.any!(f=> f == 3);

auto ret2 = arr.any!"a==3"();

writeln(ret1);

writeln(ret2);

//輸出

//true

//true

3) balancedparens    檢測元素是否能完全配對

auto str1 = "1 + (2 * (3 + 1 / 2)";

auto str2 = "1 + (2 * (3 + 1 / 2))";

auto ret1 = str1.balancedparens('(',')');

auto ret2 = str2.balancedparens('(',')');

writeln(ret1);

writeln(ret2);

//輸出

//false

//true

4) boyermoorefinder

5) canfind

6) count

7) countuntil

8) commonprefix

9) endswith

10) find

11) findadjacent

13) findamong

14) findskip

15) findsplit

16) findsplitafter

17) findsplitbefore

18) mincount

19) maxcount

20) minpos

21) maxpos

22) mismatch

23) skipover

24) startswith

25) until

二、comparison  比較

三、iteration   迭代

四、sorting  排序

五、set operations  集合運算

六、mutation  變換

D 語言中的模組(Module)

模組 模組宣告 多個宣告定義 多個宣告定義 多個宣告定義 宣告定義 宣告定義 多個宣告定義 宣告定義 特徵指示符 匯入宣告 列舉宣告 類宣告介面宣告 聚集宣告 宣告建構函式 析構函式 不變數單元測試 靜態建構函式 靜態析構函式 除錯規格 版本規格 module moduledeclaration d...

D語言中的列舉型別

列舉宣告 enum標誌符 列舉體enum列舉體enum標誌符 列舉基本型別 列舉體enum列舉基本型別 列舉體 列舉基本型別 型別 列舉體 多個列舉成員 列舉成員 列舉成員,列舉成員,多個列舉成員 列舉成員 標誌符 標誌符 表示式enumdeclaration enumidentifier enum...

D語言中的in inout out引數

private import std.stdio,std.process void test inta,inout intb,outint c void main 在上面的例子裡,程式在test函式中的輸出語句將輸出 0 1 0也就是說,out引數取值是無意義的,它只用於賦值。這裡有乙個很大的問題,...