【练习3.2】

给你一个链表L和另一个链表P,它们包含以升序排列的整数。操作printlots(L,P)将打印L中那些由P所指定的位置上的元素。

例如,如果p=1,3,4,6,那么,L的第一、第三、第四和第六个元素被打印出来。

你应该只使用基本的表操作,该过程的运行时间是多少?

 

Answer:

老样子,先放折叠的实测代码。

 1 #include <iostream>
 2 #include <string>
 3 #include "linklist.h"
 4 using namespace std;
 5 using namespace linklist;
 6 template class List<unsigned int>;
 7 template class List<string>;
 8 int main(void)
 9 {
10     List<unsigned int> number;
11 
12     //测试按升序插入
13     cout << "/*addinorder()*/" << endl;
14     number.addinorder(11);
15     number.addinorder(13);
16     number.addinorder(7);
17     number.addinorder(17);
18     number.addinorder(3);
19     number.addinorder(2);
20     number.addinorder(5);
21     number.traverse();
22     cout << "\n/*end*/\n\n" << endl;
23 
24     List<string> word;
25     cout << "/*initialize*/" << endl;
26     word.additem("The");
27     word.additem("day");
28     word.additem("after");
29     word.additem("tommorow");
30     word.additem("will");
31     word.additem("be");
32     word.additem("a");
33     word.additem("sunny");
34     word.additem("day");
35     word.traverse();
36     cout << "\n/*end*/\n\n" << endl;
37 
38     //测试printlots,打印word的第2,3,5,7个元素
39     cout << "/*printlots()*/" << endl;
40     word.printlots(number);
41     cout << "\n/*end*/\n\n" << endl;
42     
43     system("pause");
44 }
View Code

相关文章:

  • 2021-11-23
  • 2021-11-24
  • 2022-01-18
  • 2021-12-11
  • 2021-06-04
  • 2021-08-02
  • 2021-07-24
猜你喜欢
  • 2022-01-25
  • 2021-07-08
  • 2021-10-16
  • 2022-02-18
  • 2021-10-26
  • 2021-11-25
  • 2021-05-29
相关资源
相似解决方案