- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以基本上我在这个作业中遇到问题 5,http://www.student.cs.uwaterloo.ca/~cs136/assignments/a5/
我们基本上给出了类似于 Scheme 列表函数的函数,在问题 5 中,我应该创建一个名为 iappend
的函数,它附加两个列表。这是我的代码,它似乎有效。
ilist iappend(ilist il1, ilist il2) {
ilist acc = iempty();
ilist acc1 = iempty();
ilist a;
while (!iempty_huh(il1)) {
acc1 = icons(ifirst(il1), acc1);
il1 = irest(il1);
}
while (!iempty_huh(il2)) {
acc1 = icons(ifirst(il2), acc1);
il2 = irest(il2);
}
a = acc1;
while (!iempty_huh(acc1)) {
acc = icons(ifirst(acc1), acc);
acc1 = irest(acc1);
}
idelete(a);
return acc;
}
新问题,谁能帮我写代码,这样我就不列一个临时列表了?我需要以不使用 idelete 的方式对其进行编码......任何建议都会有所帮助:)
最佳答案
本质上,您要通过使用辅助列表作为堆栈来模拟递归解决方案,并且您有这个想法。但为了更有效率,试试这个。首先用一个简单的 while-not-empty 循环制作第一个列表的反向副本。然后继续使用第二个列表扩展反向副本,再次使用简单的 while-not-empty 循环。现在你有两个列表的反向副本附加在一起:(反向第二)||(反向第一);使用另一个 while-not-empty 循环制作一个反向的(即正确的顺序)副本。您应该能够在没有任何“if”测试的情况下执行此操作——while 循环应该正确处理空列表极端情况。
另外,不要删除参数——那是自找麻烦。但是当然要删除前两个循环制作并由第三个循环使用的反向副本;它本质上是递归版本的堆栈。
关于c - 使用列表内存 - 家庭作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9136269/
我的家庭作业有问题。我不要求任何代码。我所要求的只是关于如何实现作业的某些部分的一些建议。 分配如下:N 名玩家(n 由用户指定)和一个带有字母的“框”(A-Z,未指定字母数或如问题中所述:无限制)。
我需要能够在不使用任何外部java函数或库的情况下执行1938757289258398239399949292934/14583949053930202。我将号码的每个数字存储在一个链接列表中。我还可
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
大家好,我还有另一个作业问题。我必须编写一个客户端和一个服务器程序,以便服务器(具有共享内存和信号量)可以与客户端进行通信。客户端从标准输入获取数据并将其发送到服务器,服务器对其进行排序并将其发送回。
目前它将构建并运行。但我的问题是,当我尝试调用指针函数时,它不会打印出主函数中的第一个打印语句。我的最终目标是让它像 f() 从 1-36 的值表一样打印。在这几行代码中使用 & 和 * 是家庭作业的
我已将我的数组大小设置为 20(假设它计数为 0,我将其设置为 19)。我将 for 循环设置为仅在 gradeCount using namespace std; //Variables ////
我有一个 C++ 作业要在接下来的几周内完成。任务是 读取一行包含 0 到 89 之间的 3 个分数的输入,并从同一行读取一个名字。 将这些分数转换为分数,并根据每个学生的分数给他们打分。 我的第一次
我的代码中不断出现这 2 个错误 In function 'int main()':error: invalid initialization of non-const reference of ty
我正在尝试学习在 Backtrack Linux 上利用简单的缓冲流技术。 这是我的C程序 #include #include int main(int argc, char **argv) {
使用 Python,如何在给定起始行号和结束行号的情况下打印文本文件的行? 我想出了一个函数,但这行不通。 def printPart(src, des, varFile): returnLi
...所以我修复了一下,但它现在说...加速测试:程序跨越时间限制...持续时间:5 秒!(限制 8 秒)!...如果有人有任何想法,这是我的代码...... #ifndef __PROGTEST__
所以基本上我在这个作业中遇到问题 5,http://www.student.cs.uwaterloo.ca/~cs136/assignments/a5/ 我们基本上给出了类似于 Scheme 列表函数
好吧,我正在编写一个程序,它将运行通过网格并找到腔室。对于每个白色的腔室,它都填充一种颜色。只要该点旁边的空白区域也是白色,它就会继续填充颜色,直到该区域被墙隔开。然后它继续扫描,直到找到一个新的白色
我的作业涉及 Big O 分析,我想我已经掌握了它,但我不是 100% 确定。你们这些可爱的人介意看一看并告诉我我是否在正确的轨道上吗? 作业如下。对于问题1和3,我的分析和答案在右边,在//标记之后
我有一项家庭作业要求我: Write a method sort(int[] arr) that takes an integer array and uses a method from a pre
我正在尝试学习在 Backtrack Linux 上利用简单的缓冲流技术。 这是我的C程序 #include #include int main(int argc, char **argv) {
我得到一个 Char 数组,必须将其转换为 Moves(如下所示) data Move = N | S | W | E | X newtype Moves = Moves [Move] createM
这是作业逐字记录: 1.) Write a Java program that is a TCP server that returns a HTTP response to a browser th
我需要验证我的表单信息并发送确认页面。 这是我尝试过的方法,但没有用。有没有办法将两者结合起来? 这验证所有字段都已填写: 这指向确认页面: 最佳答
我正在尝试使用 FlowLayout 创建一个内部插入了两个 JPanel 的 JFrame。我在一个单独的文件中初始化了框架,但这是我被调用的内容 public class FlowInFlow e
我是一名优秀的程序员,十分优秀!