Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1ab177e

Browse files
One more file PLUS deallocation in main
1 parent 7bd4207 commit 1ab177e

11 files changed

+314
-12
lines changed

‎4_0_students_linked_list.cpp‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ struct listNode {
1313

1414
typedef listNode * studentCollection;
1515

16+
void removeLinkedList(studentCollection &head);
17+
void addRecord(studentCollection& sc, int stuNum, int gr);
18+
double averageRecord(studentCollection sc);
19+
1620
int main()
1721
{
1822
studentCollection sc = nullptr;
@@ -30,6 +34,8 @@ int main()
3034
node3->next = nullptr;
3135
node1 = node2 = node3 = nullptr;
3236

37+
removeLinkedList(sc);
38+
3339
cin.get();
3440
return 0;
3541

@@ -61,3 +67,18 @@ double averageRecord(studentCollection sc)
6167
return average;
6268
}
6369

70+
void removeLinkedList(studentCollection &head)
71+
{
72+
73+
listNode * loopPtr = head;
74+
listNode * deleteNode;
75+
76+
while (loopPtr != nullptr)
77+
{
78+
deleteNode = loopPtr;
79+
loopPtr = loopPtr->next;
80+
delete deleteNode;
81+
}
82+
head = nullptr;
83+
return;
84+
}

‎4_0_variable_length_string.cpp‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,19 @@ int main()
3333
cout << "String to add: " << strToAdd << endl;
3434
concatenate(str1, strToAdd);
3535
cout << "After concatenate: " << str1 << endl;
36+
37+
for (int i = 0; i < 8; i++)
38+
{
39+
cout << "index " << i << endl;
40+
cout << "char " << str1[i] << endl;
41+
}
42+
3643
cout << (void*) str1 << " " << (void*)strToAdd << endl;
3744

45+
delete[] str;
46+
delete[] str1;
47+
delete[] strToAdd;
48+
3849
cin.get();
3950
return 0;
4051

@@ -60,6 +71,8 @@ void append(arrayString &str, char ch)
6071
str = newStr;
6172
}
6273

74+
75+
6376
void concatenate(arrayString &str1, arrayString str2)
6477
{
6578
int len1 = length(str1);
@@ -79,6 +92,8 @@ void concatenate(arrayString &str1, arrayString str2)
7992
str1 = newStr;
8093
}
8194

95+
96+
8297
int length(arrayString str)
8398
{
8499
int len = 0;
@@ -89,3 +104,6 @@ int length(arrayString str)
89104
return len;
90105
}
91106

107+
108+
109+

‎4_1_find_modes_variable_list.cpp‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ int main()
5656

5757
printModes(modesList);
5858

59+
delete[] numList;
60+
delete[] modesList;
61+
5962

6063
cin.get();
6164
return 0;

‎4_2_substring.cpp‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,16 @@ int main()
2828

2929

3030
int startPos = 3;
31-
int len = ;
31+
int len = 2;
3232

3333
arrayString newStr = substring(str, startPos, len);
3434

3535
cout << "The string: " << str << endl;
3636
cout << "The substring: " << newStr << endl;
3737

38+
delete[] str;
39+
delete[] newStr;
40+
3841
cin.get();
3942
return 0;
4043

@@ -45,8 +48,6 @@ arrayString substring(arrayString str, int startPos, int len)
4548
{
4649
arrayString newStr = new char[len+1];
4750

48-
startPos--;
49-
5051
int strLength = length(str);
5152

5253
for (int i = 0; i < len; i++)

‎4_3_replace_string.cpp‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ int main()
3131
replaceString(source, target, replaceText);
3232
printf("The result is: %s ", source);
3333

34+
delete[] source;
35+
delete[] target;
36+
delete[] replaceText;
37+
3438
cin.get();
3539
return 0;
3640

‎4_4_string_without_null_terminator.cpp‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ int main()
4242
cout << "\n";
4343
cout << (void*) str1 << " " << (void*)strToAdd << endl;
4444

45+
delete[] str;
46+
delete[] str1;
47+
delete[] strToAdd;
48+
4549
cin.get();
4650
return 0;
4751

‎4_5_remove_student_record.cpp‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void printNodes(studentCollection sc);
1717
void addRecord(studentCollection& sc, int studNum, int gr);
1818
void removeRecord(studentCollection& sc, int studNum);
1919
double averageRecord(studentCollection sc);
20-
20+
voidremoveLinkedList(studentCollection &head);
2121

2222
int main()
2323
{
@@ -35,6 +35,8 @@ int main()
3535
printNodes(sc);
3636

3737
cout << "The average record is: " << averageRecord(sc) << endl;
38+
removeLinkedList(sc);
39+
3840

3941
cin.get();
4042
return 0;
@@ -110,3 +112,20 @@ double averageRecord(studentCollection sc)
110112
return average;
111113
}
112114

115+
116+
void removeLinkedList(studentCollection &head)
117+
{
118+
119+
listNode * loopPtr = head;
120+
listNode * deleteNode;
121+
122+
while (loopPtr != nullptr)
123+
{
124+
deleteNode = loopPtr;
125+
loopPtr = loopPtr->next;
126+
delete deleteNode;
127+
}
128+
head = nullptr;
129+
return;
130+
}
131+

‎4_6-8_linked_list_string.cpp‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ char characterAt(stringLinkedList str, int pos);
1717
void printString(stringLinkedList str);
1818
void concatenate(stringLinkedList &str1, stringLinkedList str2);
1919
void removeChars(stringLinkedList &str, int startIdx, int nrOfChars);
20+
void removeLinkedList(stringLinkedList &head)
2021

2122
int main()
2223
{
@@ -56,6 +57,9 @@ int main()
5657
printf("Removed %d characters starting from index %d running removeChars() function:\n", nrOfChars, startIdx);
5758
printString(str);
5859

60+
removeLinkedList(str);
61+
removeLinkedList(str2);
62+
5963
cin.get();
6064
return 0;
6165
}
@@ -202,6 +206,22 @@ void concatenate(stringLinkedList &str1, stringLinkedList str2)
202206
}
203207

204208

209+
void removeLinkedList(stringLinkedList &head)
210+
{
211+
212+
listNode * loopPtr = head;
213+
listNode * deleteNode;
214+
215+
while (loopPtr != nullptr)
216+
{
217+
deleteNode = loopPtr;
218+
loopPtr = loopPtr->next;
219+
delete deleteNode;
220+
}
221+
head = nullptr;
222+
return;
223+
}
224+
205225

206226

207227

‎4_9-10_integer_linked_list.cpp‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ typedef listNode * intLinkedList;
1515
void printInteger(intLinkedList integer);
1616
intLinkedList intToList(int num);
1717
intLinkedList sumIntLists(intLinkedList integer1, intLinkedList integer2);
18-
18+
voidremoveLinkedList(intLinkedList &head);
1919

2020
int main()
2121
{
@@ -32,6 +32,10 @@ int main()
3232
cout << "\nTheir sum is: ";
3333
printInteger(sum);
3434

35+
removeLinkedList(integer1);
36+
removeLinkedList(integer2);
37+
removeLinkedList(sum);
38+
3539
cin.get();
3640
return 0;
3741

@@ -99,5 +103,20 @@ void printInteger(intLinkedList integer)
99103
}
100104
}
101105

106+
void removeLinkedList(intLinkedList &head)
107+
{
108+
listNode * loopPtr = head;
109+
listNode * deleteNode;
110+
111+
while (loopPtr != nullptr)
112+
{
113+
deleteNode = loopPtr;
114+
loopPtr = loopPtr->next;
115+
delete deleteNode;
116+
}
117+
head = nullptr;
118+
return;
119+
}
120+
102121

103122

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /