Skip to content

Commit df39092

Browse files
committed
update ch1
1 parent 7096e34 commit df39092

File tree

43 files changed

+290
-410
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+290
-410
lines changed

ch1/10_Date/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ project(10_Date)
33

44
set(CMAKE_CXX_STANDARD 17)
55

6-
set(SOURCE_FILES main.cpp ../head/Date.h)
6+
set(SOURCE_FILES main.cpp ../head/Date.h ../head/ResizingArrayBag.h)
77
add_executable(10_Date ${SOURCE_FILES})

ch1/11_Transaction/main.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,35 @@ using namespace std;
1010
* @param args the command-line arguments
1111
*/
1212
int main() {
13-
vector<Transaction *> a;
14-
a.push_back(new Transaction("Turing 6/17/1990 644.08"));
15-
a.push_back(new Transaction("Tarjan 3/26/2002 4121.85"));
16-
a.push_back(new Transaction("Knuth 6/14/1999 288.34"));
17-
a.push_back(new Transaction("Dijkstra 8/22/2007 2678.40"));
13+
vector<Transaction> a;
14+
vector<string> tmp = {"Turing 6/17/1990 644.08",
15+
"Tarjan 3/26/2002 4121.85",
16+
"Knuth 6/14/1999 288.34",
17+
"Dijkstra 8/22/2007 2678.40"};
18+
for (auto s: tmp) {
19+
a.push_back(Transaction(s));
20+
}
21+
1822

1923
cout << "Unsorted" << endl;
2024
for (int i = 0; i < a.size(); ++i)
21-
cout << *a[i] << endl;
25+
cout << a[i] << endl;
2226
cout << endl;
2327

2428
cout << "Sorted by date" << endl;
2529
sort(a.begin(), a.end(), Transaction::WhenOrder);
2630
for (int i = 0; i < a.size(); ++i)
27-
cout << *a[i] << endl;
31+
cout << a[i] << endl;
2832
cout << endl;
2933

3034
cout << "Sorted by customer" << endl;
3135
sort(a.begin(), a.end(), Transaction::WhoOrder);
3236
for (int i = 0; i < a.size(); ++i)
33-
cout << *a[i] << endl;
37+
cout << a[i] << endl;
3438
cout << endl;
3539

3640
cout << "Sorted by amount" << endl;
3741
sort(a.begin(), a.end(), Transaction::HowMuchOrder);
3842
for (int i = 0; i < a.size(); ++i)
39-
cout << *a[i] << endl;
43+
cout << a[i] << endl;
4044
}

ch1/14_Interval1D/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(14_Interval1D)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(14_Interval1D ${SOURCE_FILES})

ch1/14_Interval1D/main.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,19 @@ int main() {
2020
cout << "Unsorted" << endl;
2121
for (auto inter: intervals)
2222
cout << inter << endl;
23+
cout << endl;
2324

2425
cout << "Sort by min endpoint" << endl;
2526
sort(intervals.begin(), intervals.end(), Interval1D::MinEndpointComparator);
2627
for (auto inter: intervals)
2728
cout << inter << endl;
29+
cout << endl;
2830

2931
cout << "Sort by max endpoint" << endl;
3032
sort(intervals.begin(), intervals.end(), Interval1D::MaxEndpointComparator);
3133
for (auto inter: intervals)
3234
cout << inter << endl;
35+
cout << endl;
3336

3437
cout << "Sort by length" << endl;
3538
sort(intervals.begin(), intervals.end(), Interval1D::LengthComparator);

ch1/15_Interval2D/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(15_Interval2D)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(15_Interval2D ${SOURCE_FILES})

ch1/16_Accumulator/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(16_Accumulator)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(16_Accumulator ${SOURCE_FILES})
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(17_ResizingArrayStack)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(17_ResizingArrayStack ${SOURCE_FILES})

ch1/18_LinkedStack/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(18_LinkedStack)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(18_LinkedStack ${SOURCE_FILES})

ch1/19_Stack/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(19_Stack)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(19_Stack ${SOURCE_FILES})
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(20_ResizingArrayQueue)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(20_ResizingArrayQueue ${SOURCE_FILES})

ch1/21_LinkedQueue/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(21_LinkedQueue)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(21_LinkedQueue ${SOURCE_FILES})

ch1/22_Queue/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(22_Queue)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(22_Queue ${SOURCE_FILES})
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(23_ResizingArrayBag)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(23_ResizingArrayBag ${SOURCE_FILES})

ch1/23_ResizingArrayBag/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include <iostream>
22
#include <fstream>
3-
#include "../head/ResizingArrayBag.h"
3+
#include "ResizingArrayBag.h"
44

55
using namespace std;
66

@@ -11,7 +11,7 @@ using namespace std;
1111
*/
1212
int main() {
1313
ifstream file("./data/tobe.txt");
14-
ResizingArrayBag<string> bag;
14+
ResizingArrayBag <string> bag;
1515
bag.add("Hello");
1616
bag.add("World");
1717
bag.add("How");

ch1/24_LinkedBag/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(24_LinkedBag)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(24_LinkedBag ${SOURCE_FILES})

ch1/25_Bag/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(25_Bag)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(25_Bag ${SOURCE_FILES})

ch1/26_Stopwatch/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(26_Stopwatch)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(26_Stopwatch ${SOURCE_FILES})

ch1/26_Stopwatch/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int main() {
1717
for (int i = 1; i <= n; ++i)
1818
sum1 += sqrt(i);
1919
int time1 = timer1.elapsedTime();
20-
cout << sum1 << " costs " << time1 << " microseconds" << endl;
20+
cout << sum1 << " costs (use math.sqrt) " << time1 << " microseconds" << endl;
2121

2222
// sum of square roots of integers from 1 to n using Math.pow(x, 0.5).
2323
Stopwatch timer2;
@@ -26,6 +26,6 @@ int main() {
2626
sum2 += pow(i, 0.5);
2727
}
2828
int time2 = timer2.elapsedTime();
29-
cout << sum2 << " costs " << time2 << " microseconds" << endl;
29+
cout << sum2 << " costs (use pow(0.5)) " << time2 << " microseconds" << endl;
3030

3131
}

ch1/27_StopwatchCPU/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(27_StopwatchCPU)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(27_StopwatchCPU ${SOURCE_FILES})
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(28_LinearRegression)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(28_LinearRegression ${SOURCE_FILES})

ch1/29_ThreeSum/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(29_ThreeSum)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(29_ThreeSum ${SOURCE_FILES})

ch1/30_ThreeSumFast/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(30_ThreeSumFast)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(30_ThreeSumFast ${SOURCE_FILES})

ch1/31_DoublingTest/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(31_DoublingTest)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(31_DoublingTest ${SOURCE_FILES})

ch1/32_DoublingRatio/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(32_DoublingRatio)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(32_DoublingRatio ${SOURCE_FILES})

ch1/33_QuickFindUF/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(33_QuickFindUF)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(33_QuickFindUF ${SOURCE_FILES})

ch1/34_QuickUnionUF/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(34_QuickUnionUF)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(34_QuickUnionUF ${SOURCE_FILES})
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(35_WeightedQuickUnionUF)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(35_WeightedQuickUnionUF ${SOURCE_FILES})

ch1/36_UF/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
cmake_minimum_required(VERSION 3.8)
1+
cmake_minimum_required(VERSION 3.12)
22
project(36_UF)
33

4-
set(CMAKE_CXX_STANDARD 14)
4+
set(CMAKE_CXX_STANDARD 17)
55

66
set(SOURCE_FILES main.cpp)
77
add_executable(36_UF ${SOURCE_FILES})

ch1/head/Accumulator.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ using std::ostream;
3030
* @author Kevin Wayne
3131
*/
3232
class Accumulator {
33+
private:
34+
int n = 0; // number of data values
35+
double sumval = 0.0; // sample variance * (n-1)
36+
double mu = 0.0; // sample variance * (n-1)
37+
3338
public:
3439
/**
3540
* Initializes an accumulator.
@@ -86,10 +91,6 @@ class Accumulator {
8691
*/
8792
friend ostream &operator<<(ostream &stream, Accumulator &acc);
8893

89-
private:
90-
int n = 0; // number of data values
91-
double sumval = 0.0; // sample variance * (n-1)
92-
double mu = 0.0; // sample variance * (n-1)
9394
};
9495

9596
ostream &operator<<(ostream &stream, Accumulator &acc) {

0 commit comments

Comments
 (0)