赞
踩
指针可以实现操作函数和操作数组。
指针操作一维整型数组的时候,需要实现数组的
1、逆序
2、排序、快速排序
3、查找
在指针操作的过程中一般函数的传参都是*begin *end
使用指针实现数组逆序

使用指针实现排序




快速排序的思想
第一步:确定一个基准位置。
第二步:从右端end开始寻找一个比基准值小的数。
第三步:从左端begin开始寻找一个比基准值大的数。
第四步:交换找到的两个值。
第五步:当begin与end重合时,交换基准值与相遇值。
第六步:再次调用该函数形成递归,不过左右端的地址修改
第七步:当begin>end,返回return ;即停止循环。
- #if 1
- void swap(int * a, int * b)
- {
- int t = *a;
- *a = *b;
- *b = t;
- }
- void quickSort(int * begin, int * end)
- {
- int * left = begin;
- int * right = end;
- int * k = begin;
-
- while(begin <= end)
- {
- if(begin < end && *end > *k)
- {
- --end;
- }
- if(begin < end && *begin < *k)
- {
- ++begin;
- }
- swap(begin,end); //如果找到不满足以上if的交换两个值
- }
- swap(begin,k); //一旦外层begin开始大于end说明一层循环结束,交换最终begin和end停留的位置和基准位置上的值。
-
- quickSort(left, end - 1);
- quickSort(begin + 1, right); //此时的begin与end已经相遇,即相等
-
- }
- #endif
- void severSort(int * begin, int * end)
- {
- while(begin < end)
- {
- char t = *begin;
- *begin = *end;
- *end = t;
- ++begin;
- --end;
- }
- }
- int main()
- {
- char s[] = "how are you";
- severSort(s, s+10);
- }

static 修饰局部变量和全局变量,将变量定义在静态区,延长变量的生命周期。其特点是只能被初始化一次,其值具有继承性。
与extern在变量声明中使用,使用其他文件中的变量在该文件中声明。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。