Dynamic Array Processing Method
1. Introduction
In the actual development, we could deal with a real-time array (Array), the paper, I use memory copy to achieve dynamic arrays-related operations.
2. Related Acer
# If defined (_MSC_VER)
# Define VLCCVP (void **)
# Else
# Define VLCCVP
# Endif
# Define INSERT_ELEM (p_ar, i_oldsize, i_pos, elem) \
Do \
(\
If (! I_oldsize) (p_ar) = NULL; \
(P_ar) = VLCCVP realloc (p_ar, ((i_oldsize) +1) * sizeof (* (p_ar))); \
If ((i_oldsize) - (i_pos)) \
(\
Memmove ((p_ar) + (i_pos) +1 (p_ar) + (i_pos), \
((I_oldsize) - (i_pos)) * sizeof (* (p_ar))); \
) \
(P_ar) [i_pos] = elem; \
(I_oldsize) + +; \
) While (0)
# Define REMOVE_ELEM (p_ar, i_oldsize, i_pos) \
Do (\
If ((i_oldsize) - (i_pos) -1) \
(\
Memmove ((p_ar) + (i_pos), (p_ar) + (i_pos) +1 \
((I_oldsize) - (i_pos) -1) * sizeof (* (p_ar))); \
) \
If (i_oldsize> 1) \
(\
(P_ar) = realloc (p_ar, ((i_oldsize) -1) * sizeof (* (p_ar))); \
) \
Else \
(\
Free (p_ar); \
(P_ar) = NULL; \
) \
(I_oldsize) -; \
) While (0)
Tags: array, java method, the method






