1.通过指针访问数据成员
int arr[] = {4, 20 , 10 , -3, 34};
for(int i = 0 , len = sizeof(arr) / sizeof(arr[0]); i < len ; i++)
{
NSLog(@"%d" , *(arr + i)); // 采用指针加法来访问数组元素
}
2.数组二分排序算法实现
// 将指定数组的i和j索引处的元素交换
void swap(int* data, int i, int j)
{
int tmp;
tmp = *(data + i);
*(data + i) = *(data + j);
*(data + j) = tmp;
}
// 对data数组中从start~end索引范围的子序列进行处理
// 使之满足所有小于分界值的放在左边,所有大于分界值的放在右边
void subSort(int* data , int start , int end)
{
// 需要排序
if (start < end)
{
int base = *(data + start); // 以第一个元素作为分界值
int i = start; // i从左边搜索,搜索大于分界值的元素的索引
int j = end + 1; // j从右边开始搜索,搜索小于分界值的元素的索引
while(Y