List 在列表中每n个元素之后输出y元素
如何编写一个F#递归函数,在列表xs中的每n个元素之后插入指定的y元素,即使应用于无限列表也可以工作 例如: 一是 输入 输入 输出List 在列表中每n个元素之后输出y元素,list,recursion,f#,List,Recursion,F#,如何编写一个F#递归函数,在列表xs中的每n个元素之后插入指定的y元素,即使应用于无限列表也可以工作 例如: 一是 输入 输入 输出 ['a'; 'b'; 'O'; 'c'; 'd'; 'O'; 'e'; 'f'; 'O'] ['a'; 'b'; 'c'; 'O'; 'd'; 'e'; 'f'; 'O'] ['1'; '2'; '3'; '4'; '5'; 'A'; '6'; '7'; '8'; '9'; '10'; 'A'] 输入 输出 ['a'; 'b'; 'O'; 'c'; 'd'
['a'; 'b'; 'O'; 'c'; 'd'; 'O'; 'e'; 'f'; 'O']
['a'; 'b'; 'c'; 'O'; 'd'; 'e'; 'f'; 'O']
['1'; '2'; '3'; '4'; '5'; 'A'; '6'; '7'; '8'; '9'; '10'; 'A']
输入
输出
['a'; 'b'; 'O'; 'c'; 'd'; 'O'; 'e'; 'f'; 'O']
['a'; 'b'; 'c'; 'O'; 'd'; 'e'; 'f'; 'O']
['1'; '2'; '3'; '4'; '5'; 'A'; '6'; '7'; '8'; '9'; '10'; 'A']
另一个是
输入
输出
['a'; 'b'; 'O'; 'c'; 'd'; 'O'; 'e'; 'f'; 'O']
['a'; 'b'; 'c'; 'O'; 'd'; 'e'; 'f'; 'O']
['1'; '2'; '3'; '4'; '5'; 'A'; '6'; '7'; '8'; '9'; '10'; 'A']
如果你们不介意的话,我来试试
let all=['a';'b';'c';'d';'e']
让rec插入索引的每个值=
let loop=插入值
与索引匹配
| [] -> []
|(indx,hd)::tl->
将indx与
|当n0&((i+1)%n)=0->hd::value::loop tl时的i
|\uhd->loop tl
全部的
|>列表索引
|>插入每3'x'
|>printf“%A\n”
刚刚进入奥坎利什的一方…... 欢迎有建设性的批评人士
:)复制的具有相同的问题。现在不是在我的计算机上,但这听起来并不难与现有的两种收集方法进行比较。你想写一个递归方法有什么原因吗?