• API
• FAQ
• Tools
• Archive
daily pastebin goal
27%
SHARE
TWEET

# Untitled

a guest Feb 12th, 2019 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. Data **values = null;    // values is initialized in my insert function so it is
2.                          //   populated
3. int count;               // this keeps track of values' length
4.
5.
6.
7. bool remove(Data * x) {
8.     Data **newArray = new Data *[count - 1];
9.
10.     for (int i = 0; i < count; i++) {
11.         while (x != values[i]) {
12.             newArray[i] = values[i];
13.         }
14.         count -= 1;
15.         return true;
16.     }
17.     values = newArray;
18.
19.     return false;
20. }
21.
22. count=3 values=[5,6,7]            // initial insertion of 5, 6, 7
23. five is a member of collection? 0
24. count=3 values=[5,6]              // removal of 0th element aka 5, but doesn't work
25. five is a member of collection? 0
26. count=4 values=[5,6,5]            // re-insertion of 0th element (which is stored in
27. five is a member of collection? 0 // my v0 variable)
28.
29. Data** it = std::find(values, values + count, x);
30. if (it != values + count) {
31.      std::copy(it + 1, values + count, it);
32.      --count;
33.      return true;
34. }
35. return false;
36.
37. bool remove(Data * x)
38. {
39.     bool found = false;
40.
41.     // See if x is in the array.
42.     for (int i = 0; i < count; i++) {
43.         if (x != values[i]) {
44.             found = true;
45.             break;
46.         }
47.     }
48.
49.     if (!found)
50.     {
51.         return false;
52.     }
53.
54.     // Only need to create the array if the item to be removed is present
55.     Data **newArray = new Data *[count - 1];
56.
57.     // Copy the content to the new array
58.     int newIndex = 0;
59.     for (int i = 0; i < count; i++)
60.     {
61.         if (x != values[i])
62.             newArray[newIndex++] = values[i];
63.     }
64.
65.     // Now change the pointers.
66.     delete[] values;
67.     count--;
68.     values = newArray;
69.     return true;
70. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top