adding all animation links

This commit is contained in:
Jidong Xiao
2023-09-11 21:22:50 -04:00
parent aba206b97f
commit c74aa6f47d

View File

@@ -60,6 +60,8 @@ and may cause your program to crash! (It wont crash if the uninitialized valu
*p = 15; *p = 15;
``` ```
- play this [animation](https://jidongxiao.github.io/CSCI1200-DataStructures/animations/pointers/example2/index.html).
## 4.4 Operations on Pointers ## 4.4 Operations on Pointers
- The unary (single argument/operand) operator * in the expression *p is the “dereferencing operator”. It means - The unary (single argument/operand) operator * in the expression *p is the “dereferencing operator”. It means
@@ -75,6 +77,8 @@ float *p = &x, *q = &y;
q = p; q = p;
*q = 13.0; *q = 13.0;
``` ```
- play this [animation](https://jidongxiao.github.io/CSCI1200-DataStructures/animations/pointers/example3/index.html).
- Assignments of integers or floats to pointers and assignments mixing pointers of different types are illegal. - Assignments of integers or floats to pointers and assignments mixing pointers of different types are illegal.
Continuing with the above example: Continuing with the above example:
```cpp ```cpp
@@ -86,7 +90,25 @@ p = 35.1; // Illegal: float assigned to a pointer
useful! Less than and greater than comparisons are also allowed. These are useful only when the pointers are useful! Less than and greater than comparisons are also allowed. These are useful only when the pointers are
to locations within an array. to locations within an array.
## 4.5 Null Pointers ## 4.5 Exercise
- Draw a picture for the following code sequence. What is the output to the screen?
```cpp
int x = 10, y = 15;
int *a = &x;
cout << x << " " << y << endl;
int *b = &y;
*a = x * *b;
cout << x << " " << y << endl;
int *c = b;
*c = 25;
cout << x << " " << y << endl;
```
- play this [animation](https://jidongxiao.github.io/CSCI1200-DataStructures/animations/pointers/example4/index.html).
## 4.6 Null Pointers
- Like the int type, pointers are not default initialized. We should assume its a garbage value, leftover from - Like the int type, pointers are not default initialized. We should assume its a garbage value, leftover from
the previous user of that memory. the previous user of that memory.
@@ -109,7 +131,7 @@ tests to see if p is pointing somewhere that appears to be useful before accessi
at that location. at that location.
- But dont make the mistake of assuming pointers are automatically initialized to NULL - But dont make the mistake of assuming pointers are automatically initialized to NULL
## 4.6 Arrays ## 4.7 Arrays
- Heres a quick example to remind you about how to use an array: - Heres a quick example to remind you about how to use an array:
```cpp ```cpp
@@ -122,7 +144,9 @@ a[i] = sqrt( double(i) );
- Remember: the size of array a is fixed at compile time. STL vectors act like arrays, but they can grow and - Remember: the size of array a is fixed at compile time. STL vectors act like arrays, but they can grow and
shrink dynamically in response to the demands of the application. shrink dynamically in response to the demands of the application.
## 4.7 Sorting an Array - play this [animation](https://jidongxiao.github.io/CSCI1200-DataStructures/animations/pointers/example_arrays_1/index.html).
## 4.8 Sorting an Array
- Arrays may be sorted using std::sort, just like vectors. Pointers are used in place of iterators. For example, if a is an array of doubles and there are n values in the array, then heres how to sort the values in the array into increasing order: - Arrays may be sorted using std::sort, just like vectors. Pointers are used in place of iterators. For example, if a is an array of doubles and there are n values in the array, then heres how to sort the values in the array into increasing order:
@@ -130,7 +154,7 @@ shrink dynamically in response to the demands of the application.
std::sort( a, a+n ); std::sort( a, a+n );
``` ```
## 4.8 Exercises ## 4.9 Exercises
- [Leetcode problem 905: Sort Array By Parity](https://leetcode.com/problems/sort-array-by-parity/). Solution: [p905_sortarraybyparity.cpp](../../leetcode/p905_sortarraybyparity.cpp) - [Leetcode problem 905: Sort Array By Parity](https://leetcode.com/problems/sort-array-by-parity/). Solution: [p905_sortarraybyparity.cpp](../../leetcode/p905_sortarraybyparity.cpp)
- [Leetcode problem 977: Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/). Solution: [p977_sortedsquare.cpp](../../leetcode/p977_sortedsquare.cpp) - [Leetcode problem 977: Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/). Solution: [p977_sortedsquare.cpp](../../leetcode/p977_sortedsquare.cpp)