指针操作数组

指针可以实现操作函数和操作数组。

指针操作一维整型数组。

指针操作一维整型数组的时候,需要实现数组的

1、逆序

2、排序、快速排序

3、查找

在指针操作的过程中一般函数的传参都是*begin *end

使用指针实现数组逆序

使用指针实现排序

快速排序的思想

第一步:确定一个基准位置。

第二步:从右端end开始寻找一个比基准值小的数。

第三步:从左端begin开始寻找一个比基准值大的数。

第四步:交换找到的两个值。

第五步:当begin与end重合时,交换基准值与相遇值。

第六步:再次调用该函数形成递归,不过左右端的地址修改

第七步:当begin>end,返回return ;即停止循环。

cs 复制代码
#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在变量声明中使用,使用其他文件中的变量在该文件中声明。

相关推荐
如何取名4 分钟前
结合实际业务进行LRU淘汰算法优化设计(数据库开发日志)
数据库·算法
aichitang20248 分钟前
快乐泛函每一天:希尔伯特空间中的最佳逼近与正交投影定理
人工智能·考研·算法·ai·面试·泛函分析
淬炼之火13 分钟前
笔记:Visually-Guided Policy Optimization for Multimodal Reasoning
人工智能·笔记·算法·机器学习·语言模型·自然语言处理
一只QAQ15 分钟前
c++项目
java·c++·算法
学习星球19 分钟前
空天地一体化网络(NTN)深度解析:从Starlink D2C到3GPP NTN,卫星直连手机是如何实现的?
网络·人工智能·算法·智能手机·php
科技林总30 分钟前
提示词测评落地全流程
人工智能·算法
Chester_199942 分钟前
CSP202206C.角色授权
开发语言·数据结构·c++·蓝桥杯
晴天的雨.9921 小时前
类和对象下(内部类,匿名对象,对象拷贝时的编译器优化)
开发语言·c++·算法
旖旎夜光1 小时前
LeetCode 238:除自身以外数组的乘积(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
一条大祥脚1 小时前
26杭电暑期第八场(后半)快读|快写|tarjan|路径DP|mex转化|扫描线|前缀和|二分图
数据结构·算法·tarjan·杭电多校·强联通分量·动态规划dp